可执行文件使用无效的权利进行签名

71 iphone installation adhoc

我在iPhone上进行临时分发时遇到问题.我用SDK 3.0开发了一个应用程序.我有开发人员的执照.我在项目中添加了证书和配置文件.所以,没问题.

但是,当我尝试在iPhone上安装应用程序时,它会编译项目,然后"The executable was signed with invalid entitlements"在管理器窗口中显示错误:我错过了什么吗?我已经从2.2.1升级了我的iPhone,并从Apple下载了最新的SDK.

请帮我解决这个问题.

Joh*_*ohn 53

"门户计划"中有很好的说明.如果您登录

http://developer.apple.com/iphone

然后单击左侧的"分发",然后单击"分发"

为Ad Hoc分发创建和下载分发配置文件

链接在底部.

这是关键位:

对于Ad Hoc Distribution,请完成以下操作:

  • 在文件菜单中,选择新建文件 - > iPhone OS - >代码签名 - >权利.将文件命名为"Entitlements.plist"并单击"完成".这将在项目中创建默认权利文件的副本.
  • 选择新的Entitlments.plist文件并取消选中"get-task-allow"属性.保存Entitlements.plist文件.(在Xcode 4中,get-task-allow被称为"可以调试")
  • 选择目标并打开构建设置检查器.在"代码签名权利"构建设置中,键入包含扩展名的新Entitlements.plist文件的文件名.除非您将Entitlements.plist文件放在项目顶层以外的其他位置,否则无需指定路径.
  • 单击"构建".(注意:您的二进制文件必须包含一个57x57像素的扁平方形图标.此图标显示在iPhone或iPod touch主屏幕上.)

  • 在Xcode 4中,get-task-allow被称为"可以调试" (5认同)
  • 多亏了这一点,令人惊讶的是这些东西在Apple的网站上如此难以找到,似乎SO是更好的资源. (3认同)
  • 哇,这只是让我大约12个小时的头撞.谢谢. (2认同)

小智 34

如果您尝试配置设备未包含在配置文件中的应用程序,也可能会出现此错误.

确保您的设备包含在您要使用的开发配置文件中.不知何故,错误消息具有误导性.我的权利实际上是好的.


小智 14

我发现需要为开发构建检查"get-task-allow",但是对于Distribution构建未选中.完成此任务的最简单方法(AFAIK)是在项目中包含两个权利文件:Entitlements.plist和EntitlementsDebug.plist - 并在构建项目设置中引用项目中各种配置的正确文件.

  • 我*从来没有*需要这样做.对于开发构建配置,只需确保代码签名权利为空. (10认同)
  • get-task-allow unchecked为我工作......多么鬼鬼祟祟的小混蛋 (2认同)

sni*_*bbe 6

Xcode 4中的Ad Hoc版本不再需要代码签名权利 - 请参阅Apple技术说明TN2250中的详细说明


小智 5

如果您曾经遇到这种情况,似乎需要检查“get-task-allow”才能将您的调试(!)构建部署到您的手机,请检查以下内容:

a) 检查构建设置。调试的“代码签名权利”中应该没有条目 b) 暂时删除 Entitlements.plist 并构建您的调试版本。如果它抱怨缺少 Entitlements.plist,那么你可能有同样的情况,我今天不得不战斗。c) 使用 Entitlements.plist 再次构建并启用“get-task-allow”。如果它现在有效,您可能会遇到同样的问题:

在处理新配置文件后,我无法将调试版本部署到手机上。AdHoc 很好。我检查了 a) - 空的.. 嗯。我检查了 b) - 抱怨。c) - 工作...

毕竟我在编辑器中检查了 project.pbjproj 并且 - 尽管 GUI 确实声称没有“代码签名权利”条目,但实际上在调试部分中有一个条目。我清空了它并完成了。