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
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.

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.

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
| 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
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)