DEV Community

ObjC_Coder
ObjC_Coder

Posted on

Complete Guide to Apple App Store Submission Process: From Developer Registration to Happy

Compared to the relatively open Android market, the Apple App Store's submission process is strict and systematic.
For developers, understanding the Apple App Store submission process not only increases the approval rate but also avoids multiple rejections due to signing, privacy policy, or screenshot issues.

With the rise of cross-platform development, more developers want to complete iOS submission in Windows or Linux environments. The new Happy Submission (Appuploader) command-line tool (CLI) is designed for this purpose.


1. Basic Process of Submitting an App to the Apple App Store

The Apple App submission process consists of 6 core stages:

Stage Content
Stage 1 Register an Apple Developer account
Stage 2 Create App ID, apply for signing certificates and provisioning profiles
Stage 3 Package and generate an IPA file
Stage 4 Configure app information in App Store Connect
Stage 5 Upload the IPA file (can use Appuploader)
Stage 6 Submit for review and release

Below, we will break down each step in detail.


2. Register an Apple Developer Account

Register on the Official Website

Visit the Apple Developer official website, log in with your Apple ID, and click "Enroll" to join the developer program.

Pay the Annual Fee

Registering as an individual or company account requires paying an annual fee of $99 (approximately 699 RMB).

Account Type Suitable For Features
Individual Account Independent developers Simple registration, fewer permissions
Company Account Enterprise teams Supports multi-user collaboration and role assignment

After registration, you can log in to App Store Connect.


3. Create Signing Certificates and Provisioning Profiles

The Apple system requires all submitted apps to use valid signing certificates.

Type Function
Development Certificate For real device debugging
Distribution Certificate For App Store submission
Provisioning Profile Binds certificates and App ID

Use Happy Submission (Appuploader) to Create Certificates with One Click

No Mac or Keychain required.
Certificate

Advantages:

  • Supports Windows / Linux / macOS;
  • One-click generation of certificates and provisioning profiles;
  • Can be shared among multiple users;
  • Completely eliminates Mac environment dependency.

4. Package and Generate an IPA File

IPA is the final release package for iOS apps.

Framework Packaging Method
Native iOS (Xcode) Use Xcode → Product → Archive → Export IPA
uni-app / HBuilderX Cloud packaging to generate IPA, no Mac required
Flutter / React Native Command-line build + signing export
Cordova / Ionic CLI build followed by IPA upload

If you don't have a Mac, you can use HBuilder cloud packaging + Happy Submission CLI to complete the entire process.
HBuilder Packaging


5. Configure App Information in App Store Connect

Log in to App Store Connect:

Click "My Apps" → "+" to create a new app; fill in the following information:

Information Item Description
App Name Up to 30 characters, cannot be duplicate
Bundle ID Must match the certificate
SKU Internal tracking number
App Category Select an appropriate category (e.g., Education, Utilities)
Language and Region Determine the app's language version

Also upload required content such as screenshots, app icon (1024×1024 PNG), and privacy policy link.
ASC


6. Upload IPA to the App Store

Traditional Method (Mac Users Only):

  • Upload via Xcode
  • Drag-and-drop upload via Transporter App
  • Command-line using altool / Fastlane (requires Xcode environment)

This makes submission difficult for non-Mac users.


Cross-Platform Solution: Happy Submission (Appuploader)

The new command-line tool supports Windows, Linux, macOS across all systems, allowing IPA upload to the App Store without a Mac.

Example command:

appuploader_cli -u ios@team.com -p xxx-xxx-xxx-xxx -c 2 -f ./release/MyApp.ipa
Enter fullscreen mode Exit fullscreen mode
Parameter Description
-u Apple Developer account
-p App-specific password (not login password)
-c Upload channel (1=old channel, 2=new channel)
-f IPA file path

Key Features:

  • Supports multiple systems;
  • Stable upload with automatic retry;
  • Does not carry Mac device information;
  • Can integrate into CI/CD automation pipelines;
  • Provides detailed upload logs.

7. Submit for Review and Release

After upload, return to App Store Connect:

Fill in app description, keywords, and supported device information;
Select build version → submit for review;
Wait for Apple review (typically 1–3 business days);
After approval, the app is automatically released globally on the App Store.

If rejected, App Store provides detailed reasons, and you can modify and resubmit.


8. Common Review Rejection Reasons and Suggestions

Reason Description Solution
Incomplete Privacy Declaration Missing permission descriptions Add fields like NSCameraUsageDescription in Info.plist
App Crashes Program crashes Fix issues through real device testing
Use of Non-Public APIs Calling unauthorized interfaces Replace with official APIs
Non-Compliant Screenshots Size or display issues Use 5.5" + 6.5" size screenshots
Duplicate App Multiple versions of similar apps Merge features and resubmit

9. Automated Submission Practice (Fastlane + Happy Submission CLI)

Development teams can simplify the submission process using automation tools.

# Build IPA
fastlane gym --scheme "MyApp" --output_directory "./build"

# Upload IPA
appuploader_cli -u dev@icloud.com -p xxx-xxx-xxx-xxx -c 2 -f ./build/MyApp.ipa
Enter fullscreen mode Exit fullscreen mode

Can be integrated into Jenkins, GitLab CI, GitHub Actions for fully automated build and upload.


The Apple App Store submission process may seem complex, but the core logic is clear: account → certificates → packaging → upload → review → release.
Reference tutorial: https://www.applicationloader.net/tutorial/zh/1/1.html

Top comments (0)