权利无效

Sat*_*iya 17 xcode iphone-sdk-3.0

最近,我将我的iPhone SDK操作系统从2.2.1版升级到3.0版.之后,在构建我的应用程序时,我收到配置文件已过期的错误.所以我创建了一个新的配置文件.

然后我使用配置文件分发了我的应用程序.但是在将我的应用程序同步到iPhone设备时,我在iTunes中收到错误.错误消息是"iPhone上未安装应用程序'iGVA',因为权利无效."

我检查了代码签名权利包含正确的权利plist文件.

怎么解决这个问题?

mma*_*tke 30

迈克尔上面的回答是现场(或他指出的链接).以下是我必须采取的步骤才能使其发挥作用:

  • 拥有一个检查设备UDID的临时证书.通过将证书拖到XCode图标上来安装该证书.
  • 在项目中,创建分发配置并将构建参数设置为适当的设备| 分配.现在,我们为Device 3.0 |构建 分配.
  • 我的项目没有包含Entitlements.plist文件 - 我必须通过从菜单File |中选择来添加它 添加文件| IPhone OS | 权利,并调用新文件Entitlements.plist
  • 新的plist文件只有一行 - 将该行的值设置为未选中.
  • 在项目构建配置中,在Code Signing Entitlements行中,输入Entitlements.plist文件名作为值.
  • 在代码签名标识中,选择临时证书标识(尽管我发现您也可以使用您的分发证书标识)
  • 现在建立:)
  • 将生成的应用程序文件和ad-hoc证书交付给提供UDID的人员.应该管用 :).

  • 我已经按照所有这些步骤但仍然得到相同的错误. (2认同)

小智 7

我也对此感到满意,并在Ad-Hoc Apps和Entitlements中找到答案.

您可能需要确保Entitlements.plist在"代码签名权利"下的项目设置中输入文件的路径.


mrw*_*ker 7

测试人员需要Entitlements.plist文件才能安装ad-hoc版本.默认的iOS模板不包含一个.在XCode 3.2.4中,你创建一个这样的:

  1. 从菜单中选择"文件>新文件..."
  2. 在iOS模板下,有一个代码签名部分.选择名为Entitlements的证书图标.将文件命名为"Entitlements.plist"
  3. 在源树中选择Entitlements.plist.
  4. 选择"查看>属性列表类型> iPhone权利列表"
  5. 将新密钥添加到属性列表中(选择顶行,按返回)
  6. 该项目可能会命名为"可以调试".如果没有,请从可用选项中选择.这相当于"get-task-allow".

如果您还没有,请创建一个"ad-hoc"构建配置文件:

  1. 在源树中选择目标.
  2. 从菜单中选择"文件>获取信息"
  3. 在检查员.选择"构建"选项卡.
  4. 在"配置"下,选择"编辑配置..."
  5. 选择"发布"配置,单击屏幕底部的"复制".
  6. 重命名新配置"Ad-Hoc Distribution"

现在您已经创建了Entitlements.plist,您需要将其添加到您的构建设置中.

  1. 在源树中选择目标.
  2. 从菜单中选择"文件>获取信息"
  3. 在检查员.选择"构建"选项卡.
  4. 确保配置选择器设置为"Ad-Hoc Distribution"
  5. 在"代码签名"组中,将"代码签名权利"的值更改为"Entitlements.plist" - XCode可能已为您放入相对路径.如果是这样,请更改它.

注意 - 如果您使用为其他构建配置设置的"代码签名权利"构建和运行,则在自己的设备上安装应用程序时会出错.

最后,检查Entitlements.plist是否已添加到目标中.

  1. 在源树中选择Entitlements.plist.
  2. 从菜单中选择"文件>获取信息".
  3. 选择"目标"标签.
  4. 确保选中目标旁边的复选框.

您现在应该能够分发您的ad-hoc构建,而不会出现此错误.

其中大部分是从Apple的管理应用程序权利指南中收集的,其余部分是通过反复试验获得的.


qua*_*ano 0

我也有这个问题。事实证明,我确实编辑了一个配置来支持临时配置,并且我确信我正在使用分发配置进行构建。但。我没有编辑发行版配置的属性,而是编辑发行版的属性(我以为我正在编辑发行版)。

可能不是这个。但即使您确定,也要仔细检查您使用的配置是否正确,并且该配置是否已正确调整。