
Swift, SwiftUI, App Store Connect
iOS, submitted once and approved.
On iOS the hard part is rarely the code. It is App Review: a human reading your app against a hundred and fifty pages of guidelines, with a rejection costing days each time. We build to those guidelines from the first sprint, prepare the privacy declarations properly, and submit with the demo account, the notes and the evidence a reviewer needs to say yes.
Technologies
01Capabilities
Built to the guidelines, not corrected after
Minimum functionality, account deletion, purchase routing, permission wording and Sign in with Apple are design decisions made in week one. Discovering them at submission is what turns a launch date into a moving target.
Privacy declared accurately
Nutrition labels and the required-reason API declarations filled in from an audit of what the app and its SDKs actually transmit. Apple checks these against the binary, and a wrong answer is a rejection with a slow appeal.
TestFlight as a real stage
Internal builds in minutes, external testers after a light review. Stakeholders see the real app on their own phones long before it reaches the store.
SwiftUI where it pays
SwiftUI for the bulk of the interface, UIKit where it still does a job better. Mixing the two deliberately is faster than being pure about either.
02Scope
What is included
- Native iOS apps in Swift and SwiftUI
- iPad, Split View and Dynamic Type support
- Offline storage with SwiftData or Core Data and conflict-aware sync
- Push notifications through APNs, including rich and silent pushes
- StoreKit 2 subscriptions, restore and receipt validation
- Sign in with Apple, Face ID and Keychain-backed sessions
- App Clips, widgets, Live Activities and Shortcuts where they fit
- App Store Connect setup, TestFlight and phased release
- Privacy nutrition labels and App Tracking Transparency
- App Review preparation, submission and rejection handling
- Annual SDK and OS compatibility updates
03Submission
How a build reaches the App Store
The review is a person, and the goal is to give that person no reason to hesitate.
TestFlight internal
Up to a hundred people on the team, available within minutes of upload. Where a build is proven before anyone outside the company installs it.
TestFlight external
Up to ten thousand testers after a light Beta App Review. This is where real devices, real network conditions and real Apple IDs surface what the simulator hides.
App Review
Submitted with a working demo account, reviewer notes explaining anything non-obvious, and screen recordings for hardware features a reviewer cannot test. Most reviews complete within a day; a first submission can take longer.
Phased release
Released to a rising percentage of users over seven days, pausable at any point. The same safety net Android gives you, and worth switching on every time.
04App Review
The rejections we design around
Minimum functionality (guideline 4.2)
An app that is a wrapper around a website, or that offers little a mobile browser could not, gets rejected. If your core value is web content, the app has to earn its place with something native — offline access, push, hardware use, or a genuinely different interaction model. We raise this before the first line of code, because it decides whether the project should exist as an app at all.
Purchases outside the App Store (3.1.1)
Digital goods and subscriptions consumed in the app must go through in-app purchase, and the app may not point users to an outside payment route. Physical goods and services consumed outside the app must not. Getting this boundary wrong is the most expensive mistake in an iOS launch, so we map it against your business model at the start.
Account deletion (5.1.1(v))
Any app that lets a user create an account must let them delete it from inside the app, not by emailing support. It is a small feature that stops a submission dead when it is missing.
Privacy and permissions (5.1.1)
Every permission needs a usage string that explains the actual reason, the app must work sensibly when a permission is refused, and the nutrition labels must match the binary. Vague or copied permission strings are a routine rejection.
Sign in with Apple (4.8)
An app offering third-party social login generally has to offer Sign in with Apple as an equivalent option. It is straightforward to add early and awkward to retrofit into an existing account model.
05Worth knowing
What an iOS project costs that an Android one does not
A paid developer account, renewed annually. A Mac to build on. Certificates and provisioning profiles that expire and will, at some point, expire at an inconvenient moment — so we automate their renewal rather than treating each one as an incident.
And review latency. Android lets you ship a fix in hours; iOS puts a person between you and your users. That changes how you plan a launch: the iOS build goes to review earlier, feature flags cover anything that might need turning off without a resubmission, and a critical fix uses an expedited review request, which Apple grants sparingly and remembers if you overuse.
The compensation is a narrow, well-documented device range, users who update quickly, and a platform where a well-built app stays well-built. Most of our clients ship both; the discipline iOS forces tends to improve the Android build too.
05Questions
Frequently asked questions
Native Swift or React Native for iOS?
Cross-platform makes sense when the same app goes to both stores and the interface is largely standard — one codebase, roughly half the cost. Native Swift is worth it for interface-heavy products, anything leaning on the newest platform features, or where performance and battery use are part of the product. We build both and will tell you honestly which your case justifies.
Do we need a Mac and an Apple Developer account?
You need the Apple Developer Program membership in your company’s name — it should be your account, not ours, so ownership of the listing never depends on the agency. The Mac is our problem, not yours. We can manage the account and certificates for you under an agreed access arrangement.
What happens if the app gets rejected?
Usually it is a specific, fixable point in the reviewer’s note. We respond in Resolution Center the same day — often the resolution is a clarification rather than a code change — and resubmit. Rejections are part of the process, not a failure; what matters is that they cost a day rather than a fortnight, which comes from having designed around the common ones already.
How long does it take to publish?
Once the build is ready: a day or two for external TestFlight, then typically one to three days for App Review. Budget a week for a first submission, because the store listing, privacy declarations, screenshots and export compliance are all first-time work.
Can you take over an existing iOS app?
Yes. We audit the Swift and dependency versions, the deployment target, the certificate and provisioning state, the privacy declarations against the current requirements, and the crash-free rate. Apps that have not shipped in a year usually need SDK and API updates before any feature work is realistic.
06Nearby
Related services
Mobile App Development
React Native and Flutter apps for iOS and Android, plus installable progressive web apps — connected to the same backend and ERP as the rest of your systems.
DevelopmentAndroid App Development
Native Android apps in Kotlin and Jetpack Compose — built for the device range your users actually hold, and shipped through Play Console without the release surprises.
DevelopmentNext.js & React Development
Server-rendered Next.js applications and headless frontends — the modern web stack, built for Core Web Vitals, indexability and conversion rather than for a framework demo.
What we do
iOS App Development
Native iOS apps in Swift and SwiftUI — built to Apple’s guidelines and submitted with the privacy declarations and review evidence that get an app approved the first time.
