Publishing an iOS application to the App Store

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
Publishing an iOS application to the App Store
Medium
~2-3 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Publishing an iOS App to the App Store

The first publication takes significantly longer than expected, not because of technical complexity, but because of a chain of steps, each of which can be done incorrectly and result in rejection within 24–48 hours. An app submitted for review on Friday with metadata errors will return on Monday with a formal rejection under Guideline 2.1 "Performance: App Completeness."

Preparation for Initial Submission

App Store Connect: Create an app record, specify the Bundle ID (must match the one in Xcode), Primary Language, and Category. Without creating the record, Transporter and Xcode Organizer cannot upload the build.

Screenshots: Minimum required sizes for publication — 6.5" (iPhone 14 Pro Max or equivalent) and 5.5" (iPhone 8 Plus). If you upload only one size, Apple scales it for others, but this degrades the visual quality of the listing. For iPad — a separate set if the app supports iPad.

Privacy: Since 2020, a Privacy Policy link is mandatory. Without it, rejection under Guideline 5.1.1. Also fill in Privacy Nutrition Labels in App Store Connect — which data is collected, for what purpose, and whether it's tied to identity.

Archiving and Upload

# Via Fastlane
fastlane pilot upload --ipa ./build/App.ipa

# Or via xcodebuild + Transporter
xcodebuild archive \
  -scheme MyApp \
  -archivePath ./build/MyApp.xcarchive \
  -configuration Release

xcodebuild -exportArchive \
  -archivePath ./build/MyApp.xcarchive \
  -exportPath ./build/export \
  -exportOptionsPlist ExportOptions.plist

ExportOptions.plist is critical. Wrong method (app-store vs ad-hoc vs development) — and the build will be created but won't work for upload.

<!-- ExportOptions.plist for App Store -->
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
    <key>teamID</key>
    <string>YOURTEAMID</string>
    <key>uploadBitcode</key>
    <false/>
    <key>compileBitcode</key>
    <false/>
</dict>
</plist>

Bitcode is deprecated as of Xcode 14 — Apple removed it. If the project has old settings with ENABLE_BITCODE = YES, warnings will appear during archiving.

Review Process

Review takes from a few hours to 2–3 days. Main rejection reasons:

Guideline 2.1 — App Completeness: App crashes, demo account doesn't work, buttons lead nowhere. Before submission, test on a real device, not just the simulator. Provide a test account in Notes to App Review.

Guideline 4.3 — Spam / Copycat: If the app is too similar to another or has too little functionality. A new app from the same developer duplicating an already published one is also 4.3.

Guideline 5.1.2 — Data Use and Sharing: You request NSCameraUsageDescription but don't actually use the camera — rejection. The NSUsageDescription must correspond to real usage.

In-App Purchase: If the app has any paid content or subscriptions, they must use Apple's IAP, not third-party payment processors. Attempting to accept payment through Stripe for digital content — rejection under Guideline 3.1.1.

Appeal

If a rejection is unjustified, you can appeal through the Resolution Center in App Store Connect. Apple Developer Relations responds within 1–3 days. Appeals work: rejections on formal grounds with correct justification are often overturned.

Version Management and Phased Release

After approval, choose: immediate release or Phased Release. Phased Release rolls out updates gradually: 1% → 2% → 5% → 10% → 20% → 50% → 100% of users over 7 days. Allows catching critical bugs before mass rollout.

You must increment the version and build number with each new upload. CFBundleShortVersionString (visible, e.g. 2.1.0) and CFBundleVersion (build number, only increases). Same build number — Transporter will refuse upload.

Workflow

Prepare App Store Connect: create record, Privacy Policy, Nutrition Labels, screenshots.

Configure archiving: Signing Config, ExportOptions.plist, verify entitlements.

Upload build via Transporter or Fastlane, fill in metadata.

Support through review: answer reviewer questions, fix comments.

Timeline Estimates

Preparation and initial submission of a ready app — 1–2 days. Including Apple review (usually 1–3 days) — 3–5 working days to publication. With rejection and necessary revisions — add another 1–3 days.