iOS部署失败并且权利无效 - 但权利是否有效?

时间:2017-12-20 13:54:48

标签: ios provisioning-profile ios-provisioning codesign

我的同事最近对我们的应用做了一些更改,并启用了数据保护。

然而,从那以后,我们无法将应用程序部署到任何真实设备。在使用此错误的应用程序验证时发生错误:

mysql.sock

(由于NDA要求,我必须隐藏任何日志中的任何识别信息,等等,我用[]括号中的静态标签替换它们。

我使用安全和协同设计工具,使用Apple自己的指南检查了权利。

ApplicationVerificationFailed: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.YDQn6e/extracted/[appname].app : 0xe8008016 (The executable was signed with invalid entitlements.) 输出以下信息:

codesign

以下是<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>get-task-allow</key> <false/> <key>application-identifier</key> <string>[teamId].[appname]</string> <key>com.apple.developer.team-identifier</key> <string>[teamId]</string> <key>aps-environment</key> <string>production</string> <key>keychain-access-groups</key> <array> <string>[teamId].[appname]</string> </array> </dict> </plist> 命令的输出:

security

这究竟出了什么问题?

1 个答案:

答案 0 :(得分:0)

如果您不使用自动代码签名,则在iOS应用中更新权利需要几个步骤。您需要更新两者应用程序的项目用于构建应用程序的配置文件。如果两者不同步(或者更准确地说,如果您的应用尝试使用配置文件允许的权利不允许的权利,则会出现此错误。

更改权利时,您需要更新项目本身(如文档here)以及配置文件中的权利。 我怀疑这是你到目前为止所做的一切。

要更新配置文件中的权利,请登录Apple开发人员网站,然后转到“证书,标识符和配置文件”部分。选择左侧的应用程序ID,找到您要构建的应用程序的应用程序ID。单击编辑按钮并启用Data Protection的权利。完成此操作后,单击“完成”。现在已配置应用ID,但您需要重新生成配置文件以获取应用ID的更改。转到左侧的“配置配置文件”链接,找到应用程序ID的配置文件,单击“编辑”,然后单击底部的“生成”按钮。完成后,单击下载按钮以获取具有App ID新权利的新配置文件。

另外,为了安全起见,我会在下载并安装新的配置文件之前从Mac中删除所有旧的配置文件。这样您就可以确定它正在获取正确的配置文件。您可以找到配置文件here的位置。