Ill*_*lep 3 iphone xcode cocoa-touch objective-c
我需要将我的应用程序提交到App Store.所以在我这样做之前,我使用Xcode's验证过程验证了我的应用程序.
提交验证时,需要将一个entitlement文件添加到项目中.我无法创建此文件,因此我entitlement从另一个项目中拖动了一个文件并包含在我的文件中.此entitlement文件中不包含任何数据(它是一个空文件).但是,当我通过Xcode将其提交给验证时,验证成功通过.
我想知道的是,entitlement文件是做什么的(因为entitlement我的项目中包含的文件是空的),我的应用程序是否会被appStore拒绝entitlement从另一个项目中拖放文件?
根据Apple Reference
权利授予您的应用程序特定功能或安全权限.
特别
设置权利值以启用iCloud,推送通知和App Sandbox(App Sandbox仅适用于Mac OS X).每个权利都有一个默认值,在大多数情况下会禁用与权利相关联的功能.设置权利时,通过提供适当的键值对来覆盖默认值
权利文件只是一个plist文件,您可以将其视为另一个包含一些高级配置的设置文件,对于在xcode 4.x之前对adhoc构建进行代码签名至关重要
空权利文件有效,因为XCode将处理空权利文件,因为您要使用Apple引用指定的所有默认值.在您的应用项目中保留权利文件不会造成任何伤害,除非您指定了您的应用无法使用的内容,即icloud存储.如果您不需要本地分发,最好删除该文件.:)
根据Apple技术说明TN2250(我建议你摆脱权利文件)
如果要在Target> Build Settings中定义自定义Code Signing Entitlements文件,则可以尝试完全删除该配置并重建/重新提交.通常,不必要地定义代码签名权利.如果您的应用程序使用自定义密钥链访问共享或iCloud,则只需指定自定义代码签名权利文件.否则,从Xcode项目的Target> Build Settings中的所有构建配置中删除Code Signing Entitlements配置,重建并重新尝试提交/验证.
不必要地指定代码签名权利文件是导致错误的最可能原因,例如 -
应用程序'Foo'未安装在iPhone"foobar的iPhone"上,因为权利无效.
在大多数情况下,上述权利应该是您应用程序签名中的唯一权利.使用Apple推送通知或iCloud的应用程序将添加一些权利.否则,额外的待遇比上面列出的那些,或不正确拼写,或格式化这些权利的版本很可能会导致"未能协同设计验证"防止上传到店,或特设构建产生的iTunes安装错误"未安装该应用程序因为权利无效'.
请参阅参考
| 归档时间: |
|
| 查看次数: |
6734 次 |
| 最近记录: |