【问题标题】:Does iOS Enterprise Program allow to add entitlements to provisioning profiles?iOS 企业计划是否允许向配置文件添加权利?
【发布时间】:2012-08-15 14:26:05
【问题描述】:

我现在正在研究 iOS 内部应用程序。而且我可能需要向我的应用程序添加一项权利来实现某些功能。

我知道它不适用于 iOS 开发人员程序,因为无法向配置文件添加权利。因此,签名的应用程序被设备拒绝。

iOS 企业计划是否允许向配置文件添加权利?

UPD。我正在考虑自定义权利(例如“com.apple.springboard.opensensitiveurl”)。

此外,iOS 3.X 和 iOS 4 及更高版本 (https://developer.apple.com/legacy/library/technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933-CH1-TROUBLESHOOTING_GUIDE-CODE_SIGNING_ENTITLEMENTS) 之间也发生了变化。

如果我尝试仅添加权利文件并使用没有权利的配置文件对其进行签名,我会收到“您的应用程序代码签名权利文件中指定的权利与您的配置文件中指定的权利不匹配。”

【问题讨论】:

  • 出现错误的原因有多种。请参阅:herehere
  • 谢谢。我读了这两个问题。但是,对我来说,正确地说代码签名权利与配置文件中指定的不匹配。在我的权利文件中,我指定了其他权利,我的配置文件是从 iOS 标准程序下载的配置文件(我无法指定任何权利)。在这种情况下,如果我删除了我的授权文件或取消选中“使用授权文件”,错误就会消失,但我将无法在运行时调用我想要调用的 API。

标签: ios


【解决方案1】:

企业计划不允许将自定义权利添加到您的配置文件中。因此,您不能创建具有特殊权利的企业应用程序。

补充一点:

XCode 允许添加权利文件。但是,它被 iOS 设备拒绝,因为其中的权利与您的配置文件不匹配。

【讨论】:

  • 你有没有想过如何做到这一点?我有同样的问题,我不知道如何添加权利,因为他们改变了一切(不使用ldid -S 越狱应用程序)。我确实让我的一位客户向 Apple 提出了一个未使用的支持事件,但毫不奇怪,他们说没有支持的方法来做到这一点。
  • 2Nate:我没有找到办法。我与至少几个积极寻找这样做的人讨论了这个问题,但他们都没有找到方法。 Apple 在保护低级组件(包括权利检查)方面做得很好。
  • 您知道在 Apple 文档中的何处可以找到此信息吗?
  • @Chris 我还没有看到它在哪里明确说明。它只是根据观察拼凑而成的。
【解决方案2】:

标准的 iOS 开发者计划允许我们使用 entitlements.plist 进行“临时”分发

See here for example

是的,您也可以在企业帐户中进行临时配置。

【讨论】:

  • 您确定它是最新的吗?它适用于 iOS 3.X。目前,我没有使用一种方法来创建允许指定权利的“临时”分发配置文件。如果我没有在配置文件中指定它们,而是在权利文件中指定它们,我将收到“您的应用程序代码签名权利文件中指定的权利与您的配置文件中指定的权利不匹配”
  • 我已经在标准开发人员计划下完成了临时测试版权利配置。苹果并没有取消该功能。我还可以在我的企业帐户下创建临时配置文件等。我认为你应该多解释一下你希望做什么而你目前不能做的事情。
  • 我对我的问题进行了更新。我正在尝试添加和使用“com.apple.springboard.opensensitiveurl”权利。什么是“测试版权利配置”?我刚刚进入我的标准开发人员计划,点击 iOS 配置门户,选择左侧的“配置”,选择“分发”选项卡,点击“新建配置文件”按钮,输入字段(Ad Hock、配置文件名称、应用程序 ID、设备) 它为我创建了临时配置文件。我没有看到任何地方可以为这个临时配置文件指定权利。
  • 我认为如果您尝试解释您想要达到的目标,您可能会得到更多的回应。例如你为什么要使用“com.apple.springboard.opensensitiveurl”?
  • 我正在编写一个应用程序,它需要使用 iOS 的一些私有特性。原因是缺少提供所需功能的公共 API。我知道 AppStore 提交不允许使用私有 API,但内部应用程序可以。我计划使用的其中一些私有 API 需要授权。
【解决方案3】:

您将权利添加到项目而不是配置文件。

【讨论】:

  • 我知道权利已添加到项目(权利文件)中。但是,如果配置文件中缺少它们,设备将拒绝它,并且您将收到一条消息:“您的应用程序的代码签名权利文件中指定的权利与您的配置文件中指定的权利不匹配”
猜你喜欢
  • 2011-11-10
  • 1970-01-01
  • 2012-06-09
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多