权利无效:在设备上安装 Ad Hoc 构建时出错
Posted
技术标签:
【中文标题】权利无效:在设备上安装 Ad Hoc 构建时出错【英文标题】:Entitlements are not valid: Error while installing Ad Hoc build on Device 【发布时间】:2011-03-31 14:52:43 【问题描述】:我为我的应用程序做了一个 Ad Hoc 构建。我试图在我的设备上安装它,但出现如下错误消息:应用程序 XXX 无法安装在设备 YYY 上,因为权利无效。在此之前,我使用同一台机器成功地进行了许多构建。但我不知道现在发生了什么。我搜索了很多解决方案。但是到处都是这样的解决方案:
-
重启你的 iPhone 和机器
在代码签名权利上添加 Entitlements.plist。
我尝试了很多方法,但没有希望。如果您知道解决方案,请提供帮助。
【问题讨论】:
【参考方案1】:确保您有一个应用程序图标。我在图标版本之间添加它为我解决了这个错误。
【讨论】:
【参考方案2】:我很长一段时间都遇到同样的错误,直到我发现我的包标识符(在目标属性中)包含 10 个字符的应用程序 ID 种子本身。当我从那里删除它并添加到 entitlements.plist 'application-identifier' 时,我不再收到任何警告或错误。
希望对其他人也有帮助。
【讨论】:
【参考方案3】:在 Lion 上升级到 XCode 4.5(发行版)后,我遇到了同样的问题,
选择您的目标并在摘要窗格中转到权利部分选中“权利”复选框并从下拉列表中选择您的目标,这将在您的项目中创建一个 TARGET_NAME.entitlements 文件现在进行清理并再次构建
看起来升级到 4.5 或从 4.5 降级会破坏分发配置文件的身份。
如果您在此之后在低于 4.5 的 XCode 中运行您的项目,您可能必须从您的项目中删除这个新创建的 TARGET_NAME.entitlements 文件。
希望这对某人有帮助:)
【讨论】:
【参考方案4】:嘿,看看下面的链接。
这将解决您的问题。
在此链接中查看我的答案,它将对您有所帮助。
Ad-Hoc distribution - The application "<application name>" was not install on the iPhone "<iPhone name>" because the signer is not valid
如果您有任何疑问,可以在这里发表评论。
编辑:
您还创建了一个权利列表吗?
您需要创建它并将其添加到您的资源文件夹中。
您需要添加布尔类型的get-task-allow
,其值为false
然后将 Entitlements.plist 添加为您的应用目标属性中的 Code Signing Entitlements
。
希望对你有所帮助。
【讨论】:
嗨,PARTH,我根据您的建议尝试了所有可能性。但没办法...我添加了布尔类型的 get-task-allow,值为 false,验证了您的配置文件是否正在通过设置安装-> 常规 -> 配置文件)和所有其他。这个问题是因为机器有任何错误吗?PARTH,请给我解决方案......我将非常感谢你...... 您也可以尝试从其他 MAC 在您的设备上安装。【参考方案5】:@praveen 你使用的是什么版本的 Xcode?如果您使用的是 Xcode 4 here are some step by step instructions for making your ad hoc。 @PARTH 我已经有一段时间不需要编辑 Entitlements.plist 文件了,当你创建一个时创建的默认文件对我来说效果很好。
【讨论】:
【参考方案6】:我发现了一些“有趣”的东西。升级到 Xcode 4 和 SDK 4.3 后,我开始收到警告“此捆绑包无效。应用程序标识符权利的格式不正确;它应该包含您的 10 个字符的 App ID 种子,后跟一个点,然后是您的捆绑包标识符”。将应用程序标识符添加到我的 dist.plist 文件中解决了这个警告,但随后应用程序将无法在 iTunes 上安装,并出现权利无效错误。 因此,在这种情况下,从您的权利 plist 中删除 application-identifier 键,即使它会给您一个警告。
【讨论】:
【参考方案7】:我遇到了同样的问题并尝试了各种组合。我认为为我解决的问题是将 Entitlements.plist 文件放在我的项目的根目录中,而 not 放在资源文件夹中。
【讨论】:
【参考方案8】:从 4.5 测试版之一降级到 Xcode 4.4.1 后恰好出现此错误。
似乎有些东西改变了选择的签名证书;将其重置为原始值可以解决问题。所以它与权利无关(我猜早期的签名失败没有被抛出,权利错误只是它遇到的下一个问题)。
【讨论】:
以上是关于权利无效:在设备上安装 Ad Hoc 构建时出错的主要内容,如果未能解决你的问题,请参考以下文章
ios:Ad Hoc 应用程序安装到 iPad 而不是 iPhone
Ad Hoc 构建仅在设备上崩溃 - ASIHTTPRequest