美文网首页
None of the valid provisioning p

None of the valid provisioning p

作者: 酒红色T恤 | 来源:发表于2017-03-06 18:03 被阅读131次

提交App Store或者Export导出ipa包的时候,报错,主要信息及截图如下,附解决方案。

None of the valid provisioning profiles allowed the specified entitlements:beta-reports-active,aps-environment

error.png

原因:用xcode8和xcode7编译了同一份代码,用xcode8编译以后就会多一些配置文件,最明显的就是多了一个MyApp.entitlements文件
解决方案:在打包的时候需要将如下图箭头所指的值修改为production.

ToChange.png

About Entitlements

entitlements###

n.授权,有资格( entitlement的名词复数 ); 有权得到的东西;
N. authorized, qualified (entitlement plural noun); the right to get something;
在此,我们把它统称为“授权文件”以免造成混淆。
以下是苹果开发文档对此的介绍,以及个人对其做出的一些理解。

Set entitlement values in order to enable iCloud, push notifications, Apple Pay, and App Sandbox. Each entitlement has a default value, which in most cases disables the capability associated with the entitlement. When you set an entitlement, you are overriding the default by providing an appropriate key-value pair.

设置“授权文件”的值是为了启用iCloud,苹果推送通知,支付,和应用程序沙盒。每个权利都有一个默认值,在大多数情况下,禁用与权利相关的能力。设置权限时,通过提供适当的键值对来重写默认值。

推送功能在项目中使用率高,问题也大都再此,于是乎,果断拿推送说事儿。

Xcode 8 中,打开推送开关,就会自动生成此文件,而且提交的时候也必须有这个。
下面看一下

Paste_Image.png

You set a value for the push notification entitlement by way of your development and distribution provisioning profiles, as described in Local and Remote Notification Programming Guide.

the provisioning portal assigns a value of development or production to the key.

对于iOS 来说,设置这个"授权文件"的值取决于你 provisioning profiles的类型,那么Value只有两个 development or production .

结论:

当我们遇到这个问题的时候解决顺序,

  • 1.先查看"授权文件"即entitilements 的Value是否与配置文件匹配
  • 2.如果如果匹配,接下来就检查配置文件的问题等。

相关文章

网友评论

      本文标题:None of the valid provisioning p

      本文链接:https://www.haomeiwen.com/subject/smuugttx.html