iOS Provisioning门户网站上的Distribution页面中给出的说明清楚地描述了在ad-hoc分发的构建中创建和包含Entitlements.plist文件的过程。另一方面,iOS Development Guide's Distributing Applications page没有提及Entitlements.plist文件。
当我按照iOS开发指南中的说明尝试“构建和存档”我们的最新应用程序时,由于权利问题,最终的ad-hoc app.ipa将无法安装在我的开发设备上。当我使用Entitlements.plist文件重建时,新的app.ipa安装得很好。
不幸的是,在app.ipa中包含Entitlements.plist意味着生成的版本不能简单地重新签名并提交到应用商店 - 对吧?相反,我必须在没有Entitlements.plist的情况下重建并将结果提交到应用商店。
我想我确实有一些相关的问题:
谢谢!
答案 0 :(得分:5)
从Xcode 4.2开始,在创建不需要任何特殊权限的应用程序时,您不再需要创建Entitlements.plist文件。 get-task-allow权利自动设置为true或false,具体取决于您使用(Developer,Ad Hoc或App Store)为应用程序签署的配置文件类型。
答案 1 :(得分:4)
我刚试过,不需要简单的临时权利,只需使用ad-hoc配置文件进行存档和共享,然后就可以了。
答案 2 :(得分:3)
来自iOS Developer库:
如果您正在进行Ad Hoc分发,则必须正确配置项目以包含Entitlements.plist文件,并取消选中get-task-allow复选框(将其设置为False)。 http://developer.apple.com/library/ios/#technotes/tn2242/_index.html
将Entitlements.plist文件留在Distribution版本中没有问题,我已经提交了几个应用程序。 实际上,Entitlements.plist也适用于您的应用可能使用的其他iOS功能:
的权利。这些文件定义 提供你的属性 应用程序访问iOS功能 (例如推送通知)和 安全数据(例如用户的数据) 钥匙圈)。
同时检查这个答案: The executable was signed with invalid entitlements
答案 3 :(得分:2)
如果你使用了现代化工具,那么现在可以在Xcode 4.1中调用Get-task-allow“可以调试”
答案 4 :(得分:0)
我没有回答你的所有问题,但是当我最近使用ad hoc发行版进行某些测试时,我需要添加一个Entitlements.plist。我认为文档仍然讨论.plist中的'get-task-allow'设置,但是当我完全按照说明操作时,我在签署应用程序时遇到了问题。相反,我使用Xcode的模板创建了一个Entitlements.plist。它有两个或三个设置,其中没有一个是get-task-allow。我完全按照创建时的方式离开了它,构建成功了。
我过去的经验是,提交给包含Entitlements.plist的应用商店的应用未通过验证步骤。