4

我正在创建一个应用程序。我创建了一个临时构建来测试我的 iPad 中的应用程序。我在构建中使用了正确的代码签名证书和配置文件。我有 2 台 iPad,1 台装有 iOS 8.3,另一台装有 iOS9.5 beta。

当我尝试在两台 iPad 上安装该应用程序时,带有 iOS8.3 的 iPad 允许安装该应用程序,但在 iOS 9.5 测试版中它失败了。

我正在使用 Xcode > Window > Devices 并选择我的 iPad 并将构建拖放到已安装的应用程序中。它给出了一个错误,例如:“应用程序安装失败 - 无法写入设备。”

编辑:控制台有以下错误日志:

  1. 无效的符号链接:
  2. 流提取器出错:Error Domain=SZExtractorErrorDomain Code=2“无效的符号链接:
  3. __dispatch_source_read_socket_block_invoke_2:188:无法完成提取:错误域=SZExtractorErrorDomain Code=3“此提取器以前遇到错误,无法再使用。” UserInfo={NSLocalizedDescription=此提取器之前遇到错误,无法再使用。}

请帮我解决一下这个。

4

3 回答 3

7

我们今天遇到了同样的问题,并找到了一个似乎可行的解决方案。

如果您使用 jenkins 使用 xcodebuild 插件进行构建,请确保在常规构建设置中取消选择“生成存档”选项 在此处输入图像描述

这为我们解决了 iOS9 上的安装问题

于 2015-09-17T13:15:25.770 回答
2

我也看到了这个问题。在安装应用程序时查看控制台日志,我看到如下错误:

[MIFileManager realPathForURL:ifChildOfURL:]: Rejecting /var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.BGmQCm/extracted/Payload/<app_name>.app/Frameworks/<framework_name>.framework/<framework_name>.framework -> /Users/mobile/Library/Developer/Xcode/DerivedData/<app_name>-bgvxkqkwligkcjcwrtdolronntfp/Build/Intermediates/ArchiveIntermediates/<app_name_dir>/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/<framework_name>.framework, as absolute symlinks are not allowed

当我实际使用 xcodebuild (Xcode 7.1) 存档时会发生这种情况。如果我绕过存档并使用该PackageApplication工具,安装工作正常,我推测 Jenkins 的插件正在做什么。

于 2015-11-19T19:09:23.843 回答
1

我同意 Eric Genet 的回答,因为问题似乎是 xcodebuild 插件无法再从同一个插件生成 ipa 并成功存档。

我在仍然维护存档的同时解决问题的方法是将存档和 ipa 的生成分为 2 个不同的 xcodebuild 步骤。这两个构建步骤具有相同的设置,除了一个选中了“生成存档”,另一个选中了“打包应用程序并构建 ipa”。通过将它们拆分,这使得 ipa 和存档都成功构建。

于 2016-05-04T15:35:54.120 回答