美文网首页
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