iOS Signing Configuration
Overview
Section titled “Overview”To publish your iOS app on the App Store, you need:
- Apple Developer account ($99/year)
- Signing certificate
- Provisioning profile
- Xcode for building and archiving
Prerequisites
Section titled “Prerequisites”- macOS (required for iOS development)
- Xcode installed from App Store
- Apple Developer Program membership ($99/year)
- Physical iOS device (for testing) or iOS Simulator
Quick Steps
Section titled “Quick Steps”1. Open Project in Xcode
Section titled “1. Open Project in Xcode”open ios/Runner.xcworkspace2. Configure Signing
Section titled “2. Configure Signing”- In Xcode, select the Runner project in the navigator
- Select the Runner target
- Go to the Signing & Capabilities tab
- Check “Automatically manage signing”
- Select your Team from the dropdown
3. Update Bundle Identifier
Section titled “3. Update Bundle Identifier”Ensure your Bundle Identifier matches your app:
- In Signing & Capabilities, check Bundle Identifier
- It should be in format:
com.baselyr.yourapp - Change if needed (must be unique across all apps)
4. Build and Archive
Section titled “4. Build and Archive”- Select a physical device or “Any iOS Device” from the scheme dropdown
- Go to Product → Archive
- Once archived, the Organizer window opens
- Click Distribute App
- Select App Store Connect
- Follow the prompts to upload
Install CocoaPods Dependencies
Section titled “Install CocoaPods Dependencies”Before building, ensure CocoaPods dependencies are installed:
cd ios && pod install && cd ..If you don’t have CocoaPods installed:
sudo gem install cocoapodsBuild Release Version
Section titled “Build Release Version”From the project root:
flutter build ios --releaseThen open Xcode to archive:
open ios/Runner.xcworkspaceCommon Issues
Section titled “Common Issues””No signing certificate found”
Section titled “”No signing certificate found””Solution:
- Ensure you’re enrolled in Apple Developer Program
- In Xcode → Preferences → Accounts, add your Apple ID
- Download manual profiles if needed
”Bundle identifier already taken”
Section titled “”Bundle identifier already taken””Solution: Each app needs a unique bundle ID. Change it to something like com.baselyr.yourapp.unique
”Provisioning profile doesn’t match”
Section titled “”Provisioning profile doesn’t match””Solution:
- Uncheck “Automatically manage signing”
- Check it again to regenerate profiles
- Or manually download profiles from Apple Developer Portal
Related Guides
Section titled “Related Guides”- Publishing Preparation - Customize bundle ID and icon
- Android Signing - Configure Android keystore