ios 缺少配置文件:应用程序必须在名为 embedding.mobileprovision 的文件中包含配置文件
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/52426643/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Missing Provisioning Profile :Apps must contain a provisioning profile in a file named embedded.mobileprovision
提问by developer.PT
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
应用程序已经从 xcode-9 提交到 App Store,现在我必须更新新版本。但现在 xcode 更新为 iexcode 10。在验证过程中,它显示“应用程序必须在名为 embedding.mobileprovision.. 的文件中包含配置文件”。应用程序在模拟器上运行良好
Even I have downloaded provisioning certificated.
即使我已经下载了认证的配置。
回答by Luuk Schoenmakers
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.
我试图清除配置文件,但没有任何帮助。从以前的 XCode 版本到这个版本的变化是构建系统。通过将您的构建系统改回旧版本,这对我来说已经解决了。
You can switch out the build system under file > workspace settings (or project settings) and then select Legacy Build Systemunder Build System (see screenshot).
您可以在文件 > 工作区设置(或项目设置)下切换构建系统,然后在构建系统下选择LegacyBuild System(参见屏幕截图)。
Good luck!
祝你好运!
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
编辑:从cordovo iOS 5.0.0 开始,现在支持新的构建系统。更新日志可以在这里找到:https: //cordova.apache.org/announcements/2019/02/09/cordova-ios-release-5.0.0.html
回答by jcesarmobile
If running/building from the CLI, use this command to use the legacy build system instead of the new one
如果从 CLI 运行/构建,请使用此命令使用旧构建系统而不是新系统
cordova build ios --buildFlag="-UseModernBuildSystem=0"
回答by Kobus Beets
You can also create a new build.jsonfile 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"
.
您还可以在cordova 项目的根目录下创建一个新的build.json文件(如果您还没有),并添加以下json 数据。这基本上告诉“ios”的构建过程使用旧版构建系统。它会自动将 build.json 文件中的构建标志添加到您的构建命令中,例如cordova build ios --prod
,它也会像键入为cordova build ios --prod --buildFlag="-UseModernBuildSystem=0"
.
{
"ios": {
"debug": {
"buildFlag": [
"-UseModernBuildSystem=0"
]
},
"release": {
"buildFlag": [
"-UseModernBuildSystem=0"
]
}
}
}
回答by Mark
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).
上传或验证您的档案时,请选择“手动”选项并选择您的团队并下载配置文件。(或从开发者门户下载后导入)。
回答by Laurence MacNeill
Clean your build (Cmd + Shift + K). Quit XCode (don't just close the project, make sure XCode has completely quit).
清理您的构建(Cmd + Shift + K)。退出 XCode(不要只是关闭项目,确保 XCode 已完全退出)。
Delete everything in the ~/Library/MobileDevice/Provisioning Profiles folder.
删除 ~/Library/MobileDevice/Provisioning Profiles 文件夹中的所有内容。
Re-start XCode and load your project.
重新启动 XCode 并加载您的项目。
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.
如果您将 XCode 设置为自动管理签名,您应该能够选择您的团队,然后它应该为您重新下载您的配置文件。如果不这样做,则必须从 Apple Developer 帐户手动下载它们,然后从“调试签名”下拉列表和“分发签名”下拉列表中选择“导入”。
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.
如果您随后尝试在设备上运行该应用程序并且您收到“无法找到此可执行文件的有效配置文件”,则您需要转到 Window | 设备和模拟器。在窗口左侧找到您的设备,按住 ctrl+单击它,选择“查看配置文件”。单击每个个人配置文件,然后单击底部的减号。当列表为空时,单击加号添加一个新的,然后找到您下载的配置文件并将它们中的每一个导入到该列表中。
That should hopefully fix any provisioning profile issues that XCode is giving you.
这应该有望解决 XCode 给您的任何配置文件问题。
Good luck!
祝你好运!
回答by user3413723
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
然后它抱怨缺少一个 1024x1024 的图标,我用这个答案解决了这个问题:缺少 App Store 图标。iOS 应用必须包含一个 1024x1024 像素的 App Store > PNG 格式的图标