【问题标题】:Adding entitlement file添加授权文件
【发布时间】:2012-04-15 16:21:10
【问题描述】:

我需要将我的应用提交到 App Store。所以在我这样做之前,我使用Xcode's 验证过程验证了我的应用程序。

提交验证时,需要将entitlement 文件添加到项目中。我无法创建这个文件,所以我从另一个项目中拖了一个entitlement 文件并包含在我的文件中。这个entitlement 文件中不包含任何数据(它是一个空文件)。但是,当我通过 Xcode 提交验证时,验证成功。

我想知道的是,entitlement 文件有什么作用(因为我的项目中包含的entitlement 文件是空的)并且我的应用程序是否会因为拖放entitlement 文件而被appStore 拒绝另一个项目?

【问题讨论】:

    标签: iphone objective-c xcode cocoa-touch


    【解决方案1】:

    根据苹果参考

    权利赋予您的应用特定的功能或安全权限。

    具体

    设置权利值以启用 iCloud、推送通知和 App Sandbox(App Sandbox 仅适用于 Mac OS X)。每个权利都有一个默认值,在大多数情况下会禁用与权利关联的功能。设置权利时,您通过提供适当的键值对来覆盖默认值

    1. 授权文件只是一个 plist 文件,您可以将其视为另一个设置文件,其中包含一些高级配置,并且对于 xcode 4.x 之前的临时构建进行代码签名至关重要

      李>
    2. 空的授权文件是有效的,因为 XCode 将处理空的授权文件,因为您希望使用 Apple 参考指定的所有默认值。在您的应用程序项目中保留一个权利文件不会造成任何损害,除非您指定您的应用程序不具备的功能,即 icloud 存储。如果您不需要本地分发,最好只删除该文件。 :)

    根据Apple Technical Note TN2250(我建议你去掉授权文件)

    如果您要在其中定义自定义代码签名权利文件 你的目标>构建设置,你可以尝试删除它 完全配置并重建/重新提交。经常比 不是,代码签名权利的定义是不必要的。只有你 如果您需要指定自定义代码签名权利文件 应用程序正在使用自定义钥匙串访问共享或 iCloud。 否则,请从所有 在 Xcode 项目的 Target > Build Settings 上构建配置, 重建并重新尝试提交/验证。

    不必要地指定代码签名权利文件是最 可能导致错误的原因,例如 -

    应用程序“Foo”未安装在 iPhone“foobar 的 iPhone”上 因为权利无效。

    在大多数情况下,上面看到的那些权利应该是唯一的 应用签名中的权利。使用 Apple Push 的应用程序 通知或 iCloud 将添加一些权利。除此以外, 超出上述权利的额外权利,或拼写错误,或 这些权利的格式化版本可能会导致“失败 共同签名验证”阻止上传到商店,或用于 Ad Hoc 构建产生 iTunes 安装错误“应用程序不是 已安装,因为权利无效。

    请看Reference

    【讨论】:

    • 我有一个问题,您是否建议我在授权文件中添加我的应用程序无法添加的内容?我不能把它留空吗(如果在审核过程中苹果会批准我的应用程序?)
    • 请看我上面编辑的答案。我认为 Apple 不会拒绝您的应用程序,因为您的权利文件是空的,因此它不会覆盖默认值。但我一年没有做过任何 iOS 开发,所以我不能保证。
    • 但是,如果没有此授权文件,我无法提交我的应用程序进行验证。我收到了警告,这是为什么呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 2018-04-03
    • 1970-01-01
    • 2018-02-14
    • 2015-09-10
    相关资源
    最近更新 更多