无法将应用程序部署到ios 8设备

时间:2014-09-23 15:48:35

标签: ios xcode ios8 xcode6

刚刚将iPad Mini更新到iOS 8,突然无法使用XCode 6.0.1在其上调试我的应用程序。 Xcode中的错误为App installation failed An unknown error has occurred.。在设备上,应用程序仍然显示为灰色。

试图:

  • 从ipad删除应用程序(之前正在使用)
  • 软重置并重启设备
  • 删除派生数据并清理
  • 重新启动mac
  • 重新安装xcode
  • 更改包ID和产品名称
  • 重新创建开发证书和配置文件

iOS 6和iOS 7设备工作正常,也可以调试其他项目,但不是这个,所以我变得绝望。

有什么想法吗?

控制台日志:

23/09/14 18:24:16,617 Xcode[421]: createShadowPath (thread 0x12a2f6000): returning: /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/TDev.app
23/09/14 18:24:16,617 Xcode[421]: createSiblingInPath (thread 0x12a2f6000): returning: /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/ManifestCache.plist
23/09/14 18:24:16,690 Xcode[421]: _AMDeviceCopyInstalledAppInfo (thread 0x12a2f6000): no app info
23/09/14 18:24:16,693 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): unable to get installed app info, falling back to old skool install
23/09/14 18:24:16,693 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): Blasting the bundle over to the device in an old skool way
23/09/14 18:24:27,005 Xcode[421]: AMDErrorForMobileInstallationCallbackDict (thread 0x114564000): GOT AN ERROR 0xe800003a
23/09/14 18:24:27,032 Xcode[421]: SZConduit: _MonitorResultDispatchFunction:140 (0x0x114564000): Got error from service: InstallationFailed
23/09/14 18:24:27,033 Xcode[421]: _AMDeviceTransferAndInstall (thread 0x12a2f6000): SZConduitSendPathWithPreflight failed: 0xe8008001
23/09/14 18:24:27,051 Xcode[421]: writeDictToFile:1258 ==== Successfully wrote Manifest cache to /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/ManifestCache.plist
23/09/14 18:24:27,053 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): returning 0xe8008001

修改:

似乎证书的重新生成是解决方案,但在Clean之后还需要一个Clean Build Folder,它解决了这个问题(至少目前为止)。

11 个答案:

答案 0 :(得分:14)

只是添加(并感谢大家对此处给出的提示)系统地找出原因,这对我来说是解决这个问题的关键。

使用Xcode6中的“设备”窗口连接到插入的iPhone,可以查看实时日志 - once you have selected the iPhone click on the tiny up-arrow icon at the bottom。在我的情况下,输出如下所示,强烈表明我的(自定义)捆绑框架之一的“无法验证代码签名......”是问题的症结所在。

这导致我检查并发现它与过期证书(一切都在日期)或任何剩余的DerivedData或临时构建文件无关(尽管总是很好干净!)

事实上,我的自定义框架的“CFBundleExecutable”有一个错字 - 所以签名实际上是一个错误。这不会立即在Xcode中报告 - 即使您的嵌入式框架打开了复选框,也可以在复制代码上签名#34;尝试在命令行上单独签署一个框架,它会告诉你!

Jul 13 09:40:43 Tims-iPhone installd[2302] <Notice>: 0x10048c000 -[MIClientConnection _doBackgroundInstallationForPath:withOptions:completion:]: Install of "/var/mobile/Media/PublicStaging/miin.app" type Developer requested by streaming_zip_conduit (pid 2303)
Jul 13 09:40:43 Tims-iPhone installd[2302] <Notice>: 0x10048c000 -[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=com.timlukins.miin; Version=1, ShortVersion=1.0>
Jul 13 09:40:44 Tims-iPhone profiled[2107] <Notice>: (Note ) MC: Provisioning profiles changed
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>:  SecTrustEvaluate  [leaf CriticalExtensions IssuerCommonName]
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>:  SecTrustEvaluate  [leaf CriticalExtensions IssuerCommonName]
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>: unrecognized status -67049 from codesigning library
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>: 0x10048c000 -[MICodeSigningVerifier performValidationWithError:]: 188: Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>: 0x10048c000 -[MIInstaller performInstallationWithError:]: Verification stage failed
Jul 13 09:40:44 Tims-iPhone streaming_zip_conduit[2303] <Error>: 0x100484000 __MobileInstallationInstallForLaunchServices_block_invoke240: Returned error Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)" UserInfo=0x12ee1fa30 {LibMISErrorNumber=-402620415, LegacyErrorString=ApplicationVerificationFailed, SourceFileLine=188, FunctionName=-[MICodeSigningVerifier performValidationWithError:], NSLocalizedDescription=Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)}
Jul 13 09:40:44 Tims-iPhone streaming_zip_conduit[2303] <Warning>: ERROR: MobileInstallationInstallForLaunchServices returned nil
Jul 13 09:40:44 Tims-iPhone streaming_zip_conduit[2303] <Warning>: __dispatch_source_read_socket_block_invoke:203: Failed to install application at file:///var/mobile/Media/PublicStaging/miin.app/ : Error Domain=LaunchServicesError Code=0 "The operation couldn’t be completed. (LaunchServicesError error 0.)" UserInfo=0x12ed20140 {Error=ApplicationVerificationFailed, ErrorDetail=-402620415, ErrorDescription=Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)}

答案 1 :(得分:8)

我刚刚被Xcode 7.2击中了。查看设备控制台日志,指向CocoaPods中的第三方框架。是否有&#34; pod更新&#34;现在一切都很好。

答案 2 :(得分:7)

我的经验是为了得到它的价值... Xcode 7.3

我有一个非常讨厌的pod,它已经不再使用了,所以确保它已经从框架中删除了。接下来 - CocoaPods抱怨正在使用的Frameworks - 所以确保我运行的是我拥有的最新Ruby(在我的情况下为2.1.2),然后执行以下操作:

  1. 更新了广告连播
  2. '产品' - &GT; '干净的'
  3. 选择'产品' - &gt; '干净的'
  4. 删除了所有派生数据
  5. 解决方案有效 - 我注意到了一件事 - 当我第一次尝试这个时,我在尝试选择'产品'时遇到了权限错误 - &gt; '清洁'。因此,“删除”所有“派生数据,而不仅仅是项目...

    不知道它为什么会起作用,但我认为如果有帮助,我会分享。

答案 3 :(得分:4)

您使用任何外部库或SDK吗?也许你有一个不支持iOS 8的库。

如果我是你,我会创建一个新项目,仅用于测试目的,只需一个视图,并检查它是否在我的计算机中使用我的Xcode在iOS 8中运行。如果它运行正常,那么问题就出在您的实际项目中。

答案 4 :(得分:1)

我遇到了同样的问题,它与配置过程有关。我的项目连接到两个开发人员帐户,其中一个帐户已过期证书。

要解决此问题,我必须删除其中一个帐户,并在“构建设置”中选择特定的“签名身份”。我不知道这是否是一项要求,但在此过程中我删除了项目的“派生数据”。

答案 5 :(得分:1)

我浪费了3天,现在我解决了同样的问题。 就我而言,我的项目有第三方框架(我的情况是Dropbox)。

可能Xcode需要在&#34;构建阶段/复制文件&#34;中签署每个嵌入式框架。 或者嵌入的代码太旧而无法复制到Xcode构建。

答案 6 :(得分:1)

在我的情况下,问题是我的设备上没有剩余空间。希望能帮助别人。

答案 7 :(得分:1)

我在使用Cocoapods时再次运行“pod update”。用Xcode 7.3测试。

答案 8 :(得分:1)

在我的情况下,我刚刚更新了可可豆荚并且它有效。请更新pod并再次检查。

答案 9 :(得分:0)

我刚删除了我正在使用的第三方框架。然后重新安装它们。这解决了我的问题。希望这有助于某人。

答案 10 :(得分:0)

如果有人在 iOS 10 中使用用户通知扩展程序或内容,然后删除了XCode为您生成的文件夹/文件。您可能会收到相同的错误:应用程序安装失败,出现未知错误

然后转到项目目标并删除Extension / Content生成的目标。有时候,如果你试图这样做,XCode会崩溃。我花了大约一个小时试图找出原因......例如:清理构建文件夹和派生数据文件夹。修复了删除链接到该Scheme的 UserNotification框架的原因。只有这样,我才能删除上述方案。

在我的情况下,我只需要扩展名,所以我删除了以灰色突出显示的目标。

enter image description here