to automate my app build process, I am trying to build my iOS app via command line
Build command
xcodebuild archive -project sample.xcodeproj -scheme "sample" -archivePath $PWD/archive/sample.xcarchive -destination generic/platform=iOS -UseModernBuildSystem=NO
Export Command
xcodebuild -exportArchive -archivePath $PWD/archive/sample.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath $PWD/build -UseModernBuildSystem=NO
Following is the error
Error Domain=IDEProvisioningErrorDomain Code=9 ""sample.app" requires a provisioning profile." UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription="sample.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}
Please note that the archive from Xcode works fine.
And the Info.plist file from archive folder archive/sample.xcarchive/Info.plist
does not contain provisioning profiles dictionary.
As per other suggestions on google and StackOverflow, I have tried the following
Could anyone help me get over this issue?
What has finally worked is to remove wildcard while mentioning the App id in the exportOptions.plist file.
<?xml version="1.0" encoding="UTF-8"?>
<dict>
<key>provisioningProfiles</key>
<dict>
<key>APP_ID_WITHOUT_WILDCARD_CHAR</key>
<string>PROVISIOING_PROFILE_NAME_AS_SEEN_BY_XCODE</string>
</dict>
<key>method</key>
<string>app-store</string>
<key>signingCertificate</key>
<string>iPhone Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>TEAM_ID</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>