Documentation Index
Fetch the complete documentation index at: https://docs.mobile-starter.amisi.ai/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Apple ID
- Apple Developer Program membership ($99/year)
- Completed App Identity configuration
- Bundle identifier finalized
Enroll in Apple Developer Program
Individual Account
- Go to Apple Developer Program
- Click Enroll
- Sign in with your Apple ID
- Complete enrollment form
- Pay annual fee ($99 USD)
- Wait for approval (usually 24-48 hours)
Organization Account
- Go to Apple Developer Program
- Click Enroll
- Sign in with your Apple ID
- Select Company/Organization
- Provide:
- Legal entity name
- D-U-N-S Number
- Legal authority documentation
- Pay annual fee ($99 USD)
- Wait for verification (can take several days)
- Free from Dun & Bradstreet
- Required for organization accounts
- Processing takes 1-2 weeks
Add Team Members
Access App Store Connect
- Go to App Store Connect
- Sign in with your Apple ID (account holder)
- Click Users and Access
Invite Team Members
- Click the + button
-
Enter team member details:
- First name
- Last name
- Email address
-
Select role:
- Admin - Full access to all apps and settings
- App Manager - Manage apps, TestFlight, and App Analytics
- Developer - Access to certificates, identifiers, and profiles
- Marketing - Manage app metadata and pricing
- Sales - Access to sales and financial reports
- Customer Support - Access to customer reviews and ratings
-
Configure app access:
- All Apps - Access to all current and future apps
- Specific Apps - Select individual apps
- Click Invite
Team Member Accepts Invitation
- Team member receives email invitation
- Click Accept Invitation
- Sign in with Apple ID
- Accept terms and conditions
- Access App Store Connect with assigned permissions
Configure Team in Xcode
For Team Members
- Open Xcode
- Go to Xcode → Preferences → Accounts
- Click + to add Apple ID
- Sign in with your Apple ID
- Select your team from the dropdown
For EAS Builds
EAS handles team configuration automatically when you provide credentials.Create App in App Store Connect
1. Register App
- Go to App Store Connect
- Click My Apps
- Click the + button → New App
-
Fill in app information:
- Platforms: iOS
- Name: Your app name (can be different from bundle name)
- Primary Language: English (or your primary language)
- Bundle ID: Select your bundle identifier
- SKU: Unique identifier (e.g.,
com.yourcompany.yourapp) - User Access: Full Access or Limited Access
- Click Create
2. Configure App Information
App Information:- Privacy Policy URL (required)
- Category (Primary and Secondary)
- Content Rights
- Age Rating
- Price tier (Free or paid)
- Availability (countries/regions)
- Pre-order settings
- Data collection practices
- Privacy policy
- Data usage descriptions
3. Prepare for Submission
Version Information:- Screenshots (required for all device sizes)
- App Preview videos (optional)
- Description
- Keywords
- Support URL
- Marketing URL (optional)
- Upload build via EAS or Xcode
- Select build for submission
- Add export compliance information
- App icon (1024x1024)
- Copyright
- Contact information
Register Bundle Identifier
Using Apple Developer Portal
- Go to Certificates, Identifiers & Profiles
- Click + to add identifier
- Select App IDs → Continue
- Select App → Continue
-
Configure:
- Description: Your app name
- Bundle ID: Explicit (use your bundle identifier from
app.json) - Capabilities: Enable required capabilities
- Push Notifications
- Sign in with Apple
- Associated Domains
- etc.
- Click Continue → Register
Using EAS
EAS can automatically register bundle identifiers:Configure Capabilities
Required Capabilities
Based on your app’s features, enable capabilities: Push Notifications:- Required for push notifications
- Enable in Identifiers → Capabilities
- Required if using Apple authentication
- Enable in Identifiers → Capabilities
- Configure in App Store Connect
- Required for universal links
- Enable in Identifiers → Capabilities
- Add domains in Xcode or app.json
- Required for sharing data between app and extensions
- Enable in Identifiers → Capabilities
Configure in app.json
Add capabilities to your Expo config:Certificates and Provisioning Profiles
Using EAS (Recommended)
EAS manages certificates and profiles automatically:- iOS → Distribution Certificate
- iOS → Provisioning Profile
- Generate certificates
- Create provisioning profiles
- Store securely in EAS servers
- Use automatically in builds
Manual Management
If you prefer manual management:-
Create Certificate Signing Request (CSR):
- Open Keychain Access
- Certificate Assistant → Request a Certificate
- Save CSR file
-
Create Distribution Certificate:
- Go to Certificates
- Click +
- Select Apple Distribution
- Upload CSR
- Download certificate
- Install in Keychain
-
Create Provisioning Profile:
- Go to Profiles
- Click +
- Select App Store
- Select your App ID
- Select your certificate
- Name and generate profile
- Download and install
TestFlight Setup
Enable TestFlight
- In App Store Connect, go to your app
- Click TestFlight tab
- Upload a build via EAS:
- Wait for build processing (10-30 minutes)
- Add build to test group
Create Test Groups
Internal Testing:- Up to 100 internal testers
- Team members with App Store Connect access
- No review required
- Instant distribution
- Up to 10,000 external testers
- Requires beta app review
- Public link available
Add Testers
Internal Testers:- TestFlight → Internal Testing
- Click + next to testers
- Select team members
- Testers receive email invitation
- TestFlight → External Testing
- Create test group
- Add testers by email or public link
- Submit for beta review
- Testers receive invitation after approval
Test Information
Provide for external testing:- What to test
- Test credentials (if required)
- Contact information
- Privacy policy URL
App Review Guidelines
Before submission, ensure compliance:Required Information
- Demo Account: Provide test credentials if login required
- Notes: Special instructions for reviewers
- Contact Information: Phone and email for urgent issues
Common Rejection Reasons
- Incomplete Information: Missing screenshots, descriptions
- Crashes: App crashes during review
- Broken Links: Non-functional URLs
- Privacy: Missing privacy policy or data usage descriptions
- Sign in with Apple: Required if other social logins present
- Guideline Violations: Content, functionality, or design issues
Best Practices
- Test thoroughly before submission
- Provide clear demo account with full access
- Include detailed notes for complex features
- Respond quickly to reviewer questions
- Follow Human Interface Guidelines
Submission Checklist
Before submitting to App Store:- Apple Developer account active
- Team members added with appropriate roles
- Bundle identifier registered
- App created in App Store Connect
- All required capabilities enabled
- Certificates and profiles configured
- Build uploaded and processed
- Screenshots for all device sizes
- App description and metadata complete
- Privacy policy URL provided
- App privacy information filled
- TestFlight testing completed
- Demo account credentials provided
- Review notes added
Common Issues
Team Not Showing in Xcode
Solution: Ensure you’re added to the team in App Store Connect and have accepted the invitation.Bundle Identifier Already Registered
Solution: Bundle IDs are unique across all Apple Developer accounts. Choose a different identifier.Certificate Limit Reached
Solution: Apple limits distribution certificates. Revoke unused certificates or use EAS to manage automatically.Build Not Appearing in TestFlight
Solution: Wait for processing (10-30 minutes). Check for email about processing issues.Missing Compliance
Solution: Provide export compliance information in App Store Connect for each build.Official Documentation
- Apple Developer Program
- App Store Connect
- App Store Review Guidelines
- TestFlight Documentation
- Human Interface Guidelines
- EAS Submit