我有一个名为MapItTrackIt的iOS测试版应用程序。一切都运作得很好。
我刚刚升级到xcode 5.1。我完全按照以前的方式构建了应用程序,使用相同的配置文件和临时证书。
但是这次当我尝试上传我的IPA文件时,出现了“无效的配置文件:开发者构建权限必须设置为true”的错误。
我没有更改任何有关配置或其他内容。我只是为应用程序添加了一些功能并增加了版本号。
现在我该怎么办?我该如何解决这个问题?我的老板想立即部署此应用程序,但我做不到。
我有一个名为MapItTrackIt的iOS测试版应用程序。一切都运作得很好。
我刚刚升级到xcode 5.1。我完全按照以前的方式构建了应用程序,使用相同的配置文件和临时证书。
但是这次当我尝试上传我的IPA文件时,出现了“无效的配置文件:开发者构建权限必须设置为true”的错误。
我没有更改任何有关配置或其他内容。我只是为应用程序添加了一些功能并增加了版本号。
现在我该怎么办?我该如何解决这个问题?我的老板想立即部署此应用程序,但我做不到。
今天大约有4小时遇到了完全相同的问题 - 重新启动Xcode似乎是解决方法,尽管这很令人沮丧。
我遇到了这个问题,并解决了它。
Xcode使用的是一个与我预期不同的证书配置文件 - 它用分发证书签署了构建文件,但创建了一个开发证书配置文件。
事实证明,分发证书某种程度上是无效的。我通过在项目中显式地设置证书配置文件来发现这一点,然后Xcode提示我存在问题。
解决这些问题的好方法是查看生成日志,特别是代码签名步骤 - 会有这样一行:
Using code signing identity "iPhone Distribution: XXXXXX" and provisioning profile "YYYYYY" (<..guid...>)
请检查此行是否显示您期望的证书和配置文件,并且签名标识和配置文件均为分发类型。
我的问题是,我在应用程序中捆绑了一个未经代码签名的自定义.framework。显然,这个未签名的框架导致了问题。
当我使用分发证书对框架进行代码签名后,应用程序上传就没有问题了。
我通过将代码签名标识 - 发布
更改为发布证书来修复了此错误。
看起来有几个问题可能会导致这种情况。我的情况与JosephH的类似,但不完全相同。
对我而言,还有另一个有效的配置文件,但是属于不同的用户。我有几个苹果账户用于开发。
当我的构建进行签名时,它使用了来自另一个用户帐户的不同配置文件。尽管我在设置中告诉了它要使用哪一个。
为了在测试飞行中构建此应用程序,每当我想要删除其他配置文件时,我都必须解决这个问题。如果我从那个其他用户帐户的dev网站更新,配置文件将始终回来。
最终的解决方案是,我碰巧获得了一台新的Mac用于开发,并且还没有将该其他用户帐户的配置文件安装到这台Mac上。现在一切都正常构建,无需进行任何操作。
我也遇到了完全相同的问题,使用新的Xcode 6.3 beta版本时,通过删除Project.entitlements
文件(以及在目标的Build Settings
中删除Code Signing Entitlements
条目)解决了该问题。
我尝试了许多不同的方法,但都没有成功。
我想也许是TestFlight的问题。
所以我使用Crashlytics来分发我的Adhoc构建。上传时没有任何问题。
然后我尝试使用Organizer验证此存档以获取更多信息,但出现了错误。我被告知此存档包含不支持的i386和x86_64架构。原来我使用了一个包含i386和x86_64架构的框架。然后我重新创建了一个仅包含设备架构的框架。它完美地解决了问题。