Reputation: 660
App is already submitted to App Store from xcode-9 and now I have to update new version.But now xcode is updated i.e.xcode 10.During Validating it shows 'Apps must contain a provisioning profile in a file named embedded.mobileprovision..' .App is working fine on simulator
Even I have downloaded provisioning certificated.
Upvotes: 63
Views: 34488
Reputation: 1814
I tried to clear out the provisioning profiles and none of it did help. What changed from the previous XCode version to this one is the build system. By changing your build system back to the legacy one, this was resolved for me.
You can switch out the build system under file > workspace settings (or project settings) and then select Legacy Build System under Build System (see screenshot).
Edit: As of cordovo iOS 5.0.0 the new build system is now supported. Changelog can be found over here: https://cordova.apache.org/announcements/2019/02/09/cordova-ios-release-5.0.0.html
Upvotes: 175
Reputation: 12213
I created a new provisioning profile and selected "Manually Manage Signing" and selected the profile I had manually created.
It then complained about missing a 1024x1024 icon which I fixed with this answer: Missing App Store Icon. iOS Apps must include a 1024x1024px App Store > Icon in PNG format
Upvotes: 0
Reputation: 61
You can also create a new build.json file at the root of your cordova project, if you don't already have one, and add the following json data. This basically tell the build process for "ios" to use the legacy build system. It will automatically add the build flags in the build.json file to your build command e.g. cordova build ios --prod
will also run as though it was typed as cordova build ios --prod --buildFlag="-UseModernBuildSystem=0"
.
{
"ios": {
"debug": {
"buildFlag": [
"-UseModernBuildSystem=0"
]
},
"release": {
"buildFlag": [
"-UseModernBuildSystem=0"
]
}
}
}
Upvotes: 6
Reputation: 31
If you have the above problem and it is being solved by switching to legacy build system. The alternative with new (default) build system is to to manual signing.
When uploading or validating your archive pick 'manual' option and select your Team and download the provisioning profile. (Or import after a download from the developer portal).
Upvotes: 3
Reputation: 53301
If running/building from the CLI, use this command to use the legacy build system instead of the new one
cordova build ios --buildFlag="-UseModernBuildSystem=0"
Upvotes: 14
Reputation: 784
Clean your build (Cmd + Shift + K). Quit XCode (don't just close the project, make sure XCode has completely quit).
Delete everything in the ~/Library/MobileDevice/Provisioning Profiles folder.
Re-start XCode and load your project.
If you have XCode set to Automatically Manage Signing, you should be able to select your team and then it should re-download your provisioning profiles for you. If you don't, you'll have to manually download them from your Apple Developer account and then select "import" from the Debug signing dropdown and the Distribution signing dropdown.
If you then try to run the app on a device and you get a "Valid Provisioning Profile cannot be found for this executable" you need to go to Window | Devices & Simulators. Find your device on the left side of the window, ctrl+click on it, select "See Provisioning Profiles". Click on each individual profile and click the minus sign at the bottom. When the list is empty, click on the plus sign to add a new one, then find the profiles you downloaded and import each of them, one at a time to that list.
That should hopefully fix any provisioning profile issues that XCode is giving you.
Good luck!
Upvotes: 3