I am android developer learning Flutter, and I really have some trouble trying to create debug .ipa file, for testing purposes.
So, I managed to create Runner.app fi
I use the next bash-script
flutter build ios --debug
cd ios
xcodebuild -workspace Runner.xcworkspace -scheme Runner archive -archivePath Runner.xcarchive
xcodebuild -exportArchive -archivePath Runner.xcarchive -exportOptionsPlist ../scripts/exportOptions.plist -exportPath ../scripts -allowProvisioningUpdates
rm -fr Runner.xcarchive
ipa will be created at '../scripts'. You may have own path.
-allowProvisioningUpdates is using if you want xcodebuild updates certificates automaticaly.
exportOptions.plist - it's a file with distribution settings. I use next
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>compileBitcode</key>
<false/>
<key>method</key>
<string>enterprise</string>
<key>signingStyle</key>
<string>automatic</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>YOUR TEAM ID</string>
</dict>
</plist>
These are the next steps outlined in the instructions (which are found here: https://flutter.io/ios-release/):
In Xcode, configure the app version and build:
In Xcode, open Runner.xcworkspace in your app’s ios folder.
Select Product > Scheme > Runner.
Select Product > Destination > Generic iOS Device.
Select Runner in the Xcode project navigator, then select the Runner target in the settings view sidebar.
In the Identity section, update the Version to the user-facing version number you wish to publish.
In the Identity section, update the Build identifier to a unique build number used to track this build on iTunes Connect. Each upload requires a unique build number.
Finally, create a build archive and upload it to iTunes Connect:
Select Product > Archive to produce a build archive.
In the sidebar of the Xcode Organizer window, select your iOS app, then select the build archive you just produced.
Click the Validate… button. If any issues are reported, address them and produce another build. You can reuse the same build ID until you upload an archive.
After the archive has been successfully validated, click Upload to App Store…. You can follow the status of your build in the Activities tab of your app’s details page on iTunes Connect.
You can create .ipa file by your self and send iOS build url to your client or other.
Just follow me :)
1) Generate your iOS build by below command
-> flutter build ios --release/debug
2) You will found exact path of your Runner.app Ex.
-> Built /Users/UserName/Documents/AppName/build/ios/iphoneos/Runner.app.
Just find this Runner.app file and do copy/paste it to Desktop.
3) Create folder name is "Payload" (case-sensitive) on Desktop
4) Move your Runner.app File in the "Payload" folder.
5) Compress Payload folder to default .zip
6) Convert/rename Payload.zip to Payload.ipa
That's it. Now you have to open "Diawi" and Upload the Payload.ipa on it. Wait for 100% done. Click on send button. You will find one url, Send this url to your client or any other person. They can install on his/her device.
~ PS : Make sure diawi Url valid for those UDIDs that attached with your provisioning profile. And I haven't tried these steps to upload app on TestFlight/AppStore.