这里有一些非常好的建议。
参考Mina提供的最后一个屏幕截图,在最初归档我的应用程序后,上传期间提到的配置文件包含一个通配符(XC。*)。这是错的。
为解决这个问题需要付出相当大的努力。我不得不将Simon Woodside和他的建议结合起来。 Mina Fawzy提供。
如果您有与项目相关的任何现有证书和配置文件,现在是在本地删除它们的好时机,并远程撤销它们。给自己一个新的开始。
Mina Fawzy的详细建议很棒。如果执行正确,执行Mina的建议应该在线照顾你。
输入西蒙的建议。我需要在项目中检查两件事。使用XCode,请转到此处:
的 项目 - >构建设置 - >代码签名 强>
回顾一下 的 代码签名身份 强> 和 的 供应资料 强> 属性。确保将这两个属性设置为项目名称的属性。不允许XCode自动为您选择,也不要使用某些通用代码签名标识(例如Iphone Developer)。
在决定存档之前,请确保您可以将应用程序实际安装到您的设备上。
检查您的应用ID是否已在iOS配置门户中的developer.apple.com上启用 如果未启用,请为您的App Id配置推送SSL证书下载, 然后在您的钥匙串中重新安装再次在Xcode Liabrary中下载您的Distrubution Profile安装
就我而言,即使我创建了一个myapp.profile并手动将其设置为xcode,当我选择“show in finder”并找到embedded.mobileprovision并检查以确保文件中存在aps-environment时,错误是还在那儿。
然后我去了开发人员中心,发现XC:myapp.profile的状态无效。我更新了它并安装了XC:myapp.profile,它工作正常。
我认为xcode正在尝试管理配置文件,您需要在提交二进制文件时检查配置文件,并确保它是正确的。根据其他答案,它可能由于各种原因造成,所以它可能真的很烦人。
更新:
一旦您使用下载的个人资料签名并确认了 aps-environment 当你试图提交时,它在那里 App Store ,您应该能够将配置文件和代码签名实体更改为自动和 iOS Developer 。希望它可以在Xcode 7中得到改进。
aps-environment
App Store
iOS Developer
这突然发生在我身上,因为我的应用程序的分发配置文件已过期。 Xcode开始使用通配符配置文件,而没有启用推送通知权限。我没有收到任何警告。修复很简单;我只需要在Apple Developer Member Center中为我的应用程序生成另一个分发配置文件,下载它,然后双击以在Xcode中安装。
启用后我遇到的最大问题 Push Notification 从 Capabilities 并重塑所有证书是 的 目标名称 强> 和 的 文件夹名称 强> 在哪里存储,项目由2个由空格分隔的字符串组成。删除空间后一切正常!
Push Notification
Capabilities
我得到此消息的原因不同 - 我通过Xcode提交了一个应用程序,而没有首先专门为该应用程序创建App Store分发配置文件。我相信如果您安装了Xcode,Xcode会自动使用通配符App Store配置文件。但是应用程序使用推送通知需要自己的配置文件。
修复方法是为应用程序创建新的App Store Distribution配置文件。然后下载它,将其拖到Xcode上,然后修改项目Build Settings>代码签名>发布以使用新配置文件。
在XCode 8中,除了启用条款和证书上的所有内容之外,您还需要在目标上的“功能”选项卡中启用“推送”: 提交时,Xcode 8“应用程序签名中缺少aps-environment权利”
我的博客文章关于此 这里 。
对于遇到此问题且实际在其应用中使用推送通知的人:
我们的推送证书最近即将到期,因此我们以Apple概述的标准方式创建了新的dev / prod推送证书(我不会在此详细介绍这些证书,更新时有很多关于它的信息)你的推进证书再使用一年)。
但是,在这样做之后,这个问题出现了问题。无论我们做了什么,我们在提交应用程序后都会收到Apple发来的电子邮件。当我们在Apple会员中心检查我们的分配供应配置文件的设置时,一切看起来都很好(推送已为我们的prod / dev的App ID启用,我们的分发配置文件仍然连接到此App ID,我们确实刚刚创建标准做法是新推出的另一年的证书。
最后,这就是最终为我解决的问题:
我知道这不应该像应该有的那么详细,因为它应该有截图,我会尝试用截图更新它,但是我现在正处于时间紧缩状态并希望获得我在那里做了什么。我很可能有一些或大部分步骤都没有必要,我把它们放在这里因为我做了它们而且它们可能导致了最终的解决方案。
这就是为我解决的问题。 (我已经尝试打开/关闭功能,重新创建配置文件等)。
在里面 的 构建设置 强> 标签,在 的 代码签名权利 强> ,我的 .entitlements 文件不是所有部分的链接。将其添加到Any SDK部分后,错误已解决。
为了解决这个展开'弹出'的应用程序,我进入功能选项卡,启用推送,然后再次禁用它。这从.entitlements文件中删除了APNS的“权利”设置。
是的,这是App Store拒绝的原因。如果您的ad-hoc配置文件具有aps-environment密钥,则表示您的应用程序已在Apple Provisioning Portal中正确配置。您需要做的就是删除本地计算机上的App Store分发配置文件,然后从Provisioning Portal重新下载并安装分发配置文件。这个新的应该包含aps-environment密钥。
我有同样的问题,我的解决方案是添加Target的推送通知权利 - >能力。
我甚至也面临着这个问题 的 我根本没有使用推送通知 强> 在我的app.Making 的 新的配置文件 强> 对我来说也没用。我做的是: -
的 1.为Ad hoc& amp;创建新的新证书仅适用于App Store。 强>
的 2.然后使用此证书制作分发配置文件,并将配置文件与Xcode集成。 强>
然后批准此配置文件的新提交的构建没有任何警告。