The iOS app
We write native iOS apps in Swift and SwiftUI. Features ship inside the app, and the app uses only Apple's public interfaces (APIs).
iOS app development company
We build native iOS apps in Swift and SwiftUI, plus the server side each app needs. Several of Apple's App Store Review Guidelines decide how an app is built, not just how it is listed. So before any code is written, we settle four things: what ships inside the app and what comes from your server, how people delete their accounts, what third-party SDKs (code from other companies) collect, and how Apple's reviewer signs in.
What we do
We plan all three together, because Apple's rules cut across them.
We write native iOS apps in Swift and SwiftUI. Features ship inside the app, and the app uses only Apple's public interfaces (APIs).
We build the server the app needs. It sends the data that can change without a new build, and it carries out account deletion.
We check what each SDK collects before it is added, so your privacy label can account for it. A demo account for Apple's reviewer is in place before the build goes to Apple.
Not sure native iOS is right? Compare the options on cross-platform app development. Before release, our mobile app security assessment checks the finished build against OWASP MASVS (the Mobile Application Security Verification Standard).
Decided before the code
Under guideline 2.5.2, features ship inside the app. Under guideline 2.5.1, the app uses only the parts of iOS that Apple makes public.
Apple's App Store Review Guidelines are easy to leave until submission week. Several cannot wait, because they shape the build itself. These two come first.
Code or data
Read against guideline 2.5.2, a change is one of two things: data the shipped app already knows how to show, or a new feature that needs a new build.
| The change | How it reaches users | Why |
|---|---|---|
| New prices, stock levels or articles | As data from your server | Shipped code already knows how to show it |
| A discount rule or a spending limit | As an answer your server works out | The app shows a result and runs nothing new |
| Wording and images on an existing screen | As data, if the screen was built to fetch it | Text fixed in the bundle changes only in a build |
| A new screen or a new step in a flow | In a new build, sent to Apple for review | It adds functionality the bundle lacks |
Account deletion
Guideline 5.1.1(v) ties account creation in an app to account deletion in the same app. So we design deletion alongside sign-up.
Sign-up writes to more than a login record: a profile, uploaded files, push tokens (the addresses notifications are sent to), and outside services that received an identifier. Deletion is designed from that list.
The guideline places deletion within the app, so the control sits on the screen where people already manage their account.
The app only asks. The server removes records and files, ends sessions on other devices, and tells outside services to drop what they hold.
After the server confirms, the app clears its local cache and shows the signed-out state, instead of failing on a request for an account that is gone.
Third-party SDKs
Apple's app privacy details page asks you to declare what other companies' code in your app collects, as well as what you collect yourself.
Apple calls those companies third-party partners, and an analytics or advertising SDK is one of them. What it collects belongs in your App Store privacy label, even data your app itself never reads, unless that data meets all of Apple's criteria for optional disclosure.
The reviewer's way in
Guideline 2.1 expects Apple's reviewer to be able to sign in and use the app, so we design that access alongside sign-in.
Guideline 2.1 wants demo account details sent with any app that has a login, and a back end that is running during review. Whatever server the submitted build points at has to be up when the reviewer opens the app.
Find the right page
Choosing a platform, adding Android, checking security and keeping the app current each have their own page.
FAQ
The server side, updates, iOS versions, account deletion, privacy labels and review access. For anything else, ask us directly.
SecWiz does, and on iOS that server carries part of Apple's App Store Review Guidelines. Guideline 2.5.2 bars downloaded code that changes features, so anything changed without a new build arrives from the server as data. Account deletion under guideline 5.1.1(v) runs there, and guideline 2.1 needs the back end up during review.
Not by downloading them. Apple's App Store Review Guideline 2.5.2 does not let an app fetch and run code that adds or alters its features, apart from a narrow exception for educational apps. Server data can still change what existing features show. A new feature needs a new build, which goes to Apple for review.
Apple's App Store Review Guideline 2.5.1 sets one fixed point: an app must run on the currently shipping version of iOS. How many older releases it also supports is the owner's call, and an early one, since each release kept is another version every feature has to work on.
Yes, if the app lets people create an account. Apple's App Store Review Guideline 5.1.1(v) says an app that supports account creation must also offer account deletion within the app. Deletion therefore joins the feature list when sign-up does: a control inside the app, and server work behind it that removes the account.
Yes. Apple's app privacy details page says the answers cover data that third-party partners collect as well as the developer's own, unless it meets all of Apple's criteria for optional disclosure. An analytics or advertising SDK is such a partner, so its collection belongs in the label, including data the app itself never reads.
Apple's App Store Review Guideline 2.1 expects demo account details and a running back end for any app with a login. The same guideline also allows a built-in demo mode in place of a demo account, with Apple's agreement in advance. Either way, the reviewer's route in is designed alongside sign-in.
Let's talk
Send the feature list and say whether people sign in. Project work is delivered remotely from India during business hours. We reply within one working day.