我是否仍然需要一个Entitlements.plist文件进行临时构build?

iOS供应门户的分发页面中给出的说明清楚地描述了创build的过程,并将Entitlements.plist文件包括在构build中用于临时分发。 另一方面, iOS开发指南的分发应用程序页面没有提到Entitlements.plist文件。

当我尝试按照“iOS开发指南”的说明“构build并存档”我们的最新应用程序时,由于授权的问题,由此产生的临时app.ipa将不会安装在我的开发设备上。 当我用Entitlements.plist文件重build时,新的app.ipa安装正常。

不幸的是,在app.ipa中包含Entitlements.plist意味着生成的构build不能简单地重新签名并提交给app store – 对吗? 相反,我必须重build没有Entitlements.plist并提交结果到应用程序商店。

我想我真的有一些相关的问题:

  1. 根据iOS开发指南(没有Entitlements.plist,只需使用即席分发供应configuration文件进行签名)中指示的app.ipa是否会在testing分发供应configuration文件中正确标识的非dev设备上安装OK?
  2. 有没有什么方法可以在我的开发机器上testing“构build和存档”的确切结果,以便我可以重新签名并从Xcode提交给App Store?
  3. 如果我提交了,明确包含Entitlements.plist文件的app.ipa会被拒绝吗?

谢谢!

从Xcode 4.2开始,在创build不需要任何特殊权限的应用程序时,不再需要创buildEntitlements.plist文件。 取决于任务的授权会自动设置为true或false,具体取决于您使用(Developer,Ad Hoc或App Store)为应用程序签名的configuration文件types。

ref: http : //help.testflightapp.com/customer/portal/articles/535398-invalid-profile-distribution-build-entitlements-must-have-get-task-allow-set-to-false-

我只是尝试,不需要简单的临时权利,只需使用特设configuration文件归档和共享,然后罚款。

从iOS开发者库:

如果您正在执行Ad Hoc分发,则必须正确configuration项目以包含Entitlements.plist文件,并取消选中get-task-allowcheckbox(将其设置为False)。 http://developer.apple.com/library/ios/#technotes/tn2242/_index.html

在Distribution版本中保留Entitlements.plist文件没有问题,我已经有几个应用程序提交了。 实际上,Entitlements.plist也适用于您的应用可能使用的其他iOSfunction:

授权。 这些文件定义了可以让您的应用程序访问iOSfunction(例如推送通知)和安全数据(如用户的钥匙串)的属性。

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/115-Configuring_Applications/configuring_applications.html

同时检查这个答案: 可执行文件被签署了无效的权利

如果您使用了现代化工具,则Get-task-allow在Xcode 4.1中现在称为“可以debugging”

我没有你所有问题的答案,但是当我最近使用ad hoc发布进行一些testing时,我需要添加一个Entitlements.plist。 我认为该文档仍然谈论.plist中的“获取任务允许”设置,但是当我按照指示完成操作时,我在签署应用程序时遇到了问题。 相反,我使用Xcode的模板创build了一个Entitlements.plist。 它有两个或三个设置,其中没有一个是获取任务允许的。 我完全按照创build时那样离开它,并且构build成功。

我过去的经验是,包含Entitlements.plist的应用程序提交到app store失败了validation步骤。