在为iPhone设备构建应用程序时无法验证应用程序错误

时间:2009-06-15 19:20:44

标签: iphone xcode provisioning

好的,我刚刚拥有了一台闪亮的全新MacBook Pro,并且在另一台MacBook上开发我的iPhone应用程序,我想将我的开发工作迁移到我的新计算机上。

我已经到了可以构建应用程序并在模拟器上运行它没有问题的阶段,但是当我在iPhone上运行应用程序时,我不断得到“应用程序无法验证”。我安装了一个新的开发人员证书,并安装了配置文件(所有生成的新文件),但我不知道为什么我仍然会收到错误。

任何人都对我出错的地方有任何想法?

修改

我重新创建了证书和profisioning profile等...构建成功,底部的状态一直到'在设备上安装',然后两个模态对话框显示相同的“应用程序可以不予以验证“错误信息。

我能得到什么输出会给我一个确切的错误吗?

修改

好的,我从Organizer那里得到了相应的日志来显示问题。看起来我没有设置Entitlements.plist,但在xcode中,我有。 (我添加了一个Entitlements.plist fole,然后取消选中get-task-allow,然后将Entitlements.plist添加到Code Signing Entitlements下的项目设置中)。日志是:

Tue Jun 16 07:35:42 unknown mobile_installation_proxy[1162] <Error>: install_embedded_profile: Skipping the installation of the embedded profile
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: entitlement 'get-task-allow' has value not permitted by a provisioning profile
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: verify_executable: Could not validate signature: e8008016
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: preflight_application_install: Could not verify /var/tmp/install_staging.1WIVsB/BouldrData.app/BouldrData
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: install_application: Could not preflight application install
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: handle_install: Installation failed
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: user mobile has uid 501
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: mode is 0x41e8

任何人都可以解释为什么这不能按预期工作吗?

修改

让构建工作,但我还没有接受答案,因为我不知道发生了什么。任何人都知道发生了什么事?

11 个答案:

答案 0 :(得分:93)

我的问题实际上是我已经通过手机上的testflight安装了应用程序,删除了它的应用程序!

答案 1 :(得分:32)

我通过从手机中删除已安装的版本然后重新安装版本来解决它。

答案 2 :(得分:16)

来自this thread on ADC

get-task-allow在登录应用程序时,允许其他进程(如调试器)附加到您的应用程序。分发配置文件要求关闭此值,而开发配置文件需要打开此值(否则Xcode将无法启动并附加到您的应用程序)。

答案 3 :(得分:6)

检查您的iPhone是否已正确配置。您可以连接iPhone并从XCode(主菜单 - &gt;窗口 - &gt;管理器)启动管理器,然后检查提供配置文件信息。

之后,您需要匹配捆绑标识符(项目 - &gt; Info.plist)和您的应用ID。 您可以阅读此Apple Note Mismatch between App ID and Bundle Identifier

当我的Bundle Identifier不正确时,我有类似的消息框(连续两个)。

答案 4 :(得分:3)

您是否记得在项目窗口左侧展开目标,然后右键点击您的应用名称&gt; 获取信息,然后转到代码签名下的代码签名下的代码签名,更改值任何iPhone OS设备适用于您的情况?同样在属性选项卡中,您应该设置标识符,使其与您选择的标识符匹配。

不知道这是否有帮助,但这是我在你的描述中找不到的步骤。

答案 5 :(得分:2)

我知道你已经检查了一些,但是这个答案已经完成了:

  • 检查要在设备上安装的每个构建设置的新配置文件和证书是否在目标级别命名。
  • 代码签名权利也必须在目标级别定义,而不是项目。
  • 仔细检查构建日志,查找包含CodeSign的行。验证它是否存在并使用您期望的证书。
  • 如果所有其他方法都失败了,请从目标中删除代码签名标识,清除所有目标,从项目中删除任何构建目录,退出并重新启动Xcode,替换代码签名标识,然后再次尝试构建。

答案 6 :(得分:1)

除了验证代码签名之外,请务必转到“生成”菜单并运行“清除所有目标”。 Xcode不时变得混乱。

答案 7 :(得分:1)

问题解决了(至少对我而言!)

在可运行的计算机上导出开发人员配置文件,然后在出现问题的计算机上导入。通过首选项/帐户,底部的齿轮图标完成。

答案 8 :(得分:1)

进入窗口&gt;设备和查看已安装的应用程序,我能够发现我的应用程序已经安装。选择应用程序并点击“ - ”将其从设备中删除。尝试使用该设备作为目标重建您的应用。

为我工作,即使从手机上找不到安装应用程序的位置!

答案 9 :(得分:1)

&#34;申请无法验证&#34; ,在您的设备中,可能已经安装了具有相同捆绑标识符的应用。

我遇到了这个问题,因为我的应用程序来自App store&amp;我正在测试Xcode的更新版本。&amp;与我的实时应用程序中的标识符相同。

如此简单的解决方案只需删除App&amp;再安装..  ....

答案 10 :(得分:0)

一个重要但容易被忽视的项目:确保所有配置密钥和证书位于登录钥匙串上。当我试图创建一个新的“开发”钥匙串并且我的所有配置文件变得“无效”时,我碰到了这个。