xcrun:错误:无法找到实用程序“PackageApplication”,不是开发人员工具或 PATH - 因为更新 Xcode

Posted

技术标签:

【中文标题】xcrun:错误:无法找到实用程序“PackageApplication”,不是开发人员工具或 PATH - 因为更新 Xcode【英文标题】:xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH - Since updating Xcode 【发布时间】:2017-08-21 11:18:29 【问题描述】:

今天早上更新了 Xcode,现在 ionic 项目不会部署到设备上。

ionic run ios --device

返回:

** BUILD SUCCEEDED **


xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH

Error: Error code 72 for command: xcrun with args: -sdk,iphoneos,PackageApplication,-v

不知道如何解决,谷歌搜索返回很多选项,但没有一个正确。

【问题讨论】:

似乎已从 Xcode 8.3 中删除了已弃用的“PackageApplication”。我设法使用 Xcode ad-hoc 部署创建了一个 ipa。您可以尝试一下,直到问题得到解决:developer.apple.com/library/content/documentation/IDEs/… @eymen Jesus,谢谢你的链接,我很快就会看看。 在subathrathanabalan.com/2016/01/07/building-ipa-export-archive的说明 我使用了一个不使用 Xcode 项目的工具,因此我不能 xcodebuild -exportArchive,所以我求助于从旧 Xcode 替换 PackageApplication:***.com/a/43550906/1383915 【参考方案1】:

Cordova 正在尝试使用PackageApplication 工具。但它在 Xcode 8.3 之后被移除。 (感谢@guyromb this)

对于那些来自 Jenkins/fastlane 的错误,这里是一个临时修复,直到 jenkins xcode 插件对此进行修复

如果您有 Xcode 8.2.1 或任何低于 8.3 的版本,请从以下位置复制 PackageApplication 脚本 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin

或者您可以从此链接下载 - https://gist.github.com/anonymous/48f3e4c5ae25313dc0fe10d9ec50c3fc

转到查找器 - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin

在此处粘贴复制/下载的上述文件。

【讨论】:

你需要在这个文件上运行chmod +x,例如chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplicationchmod +x /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication 取决于您当前拥有的 Xcode 在 XCode 升级后我又来了。 非常感谢!现在我正在使用 Xcode 9.1 和 Delphi Berlin Update 1!【参考方案2】:

Cordova 正在尝试使用“PackageApplication”工具。但它自 Xcode 8.3 以来已被删除。要么降级 Xcode,要么等待 Cordova 修复。

【讨论】:

不一定要降级..只需替换新安装中丢失的文件,看我的回答***.com/a/43935071/1441326【参考方案3】:

在 matson kepson 提到的 Jenkins 问题中,有一个人试图通过 PR 来解决这个问题。他的 PR 中有一些未完成的更改请求,我还在他的更改中发现了一些空 ptr。我分叉了他的 pr 并修复了这些东西 here,现在有一个链接到 here 的快照,您可以下载并解锁,直到将此类更改合并到完整版本中。

【讨论】:

这些更改是否合并到完整版本中? 没有。这就是我链接快照的原因。试图让他们尽快合并。【参考方案4】:

您好,来自詹金斯的官方错误

这里你有一个新鲜的状态

https://issues.jenkins-ci.org/browse/JENKINS-43163


看这个更清楚一点:

http://subathrathanabalan.com/2016/01/07/building-ipa-export-archive/

【讨论】:

好的,谢谢,请注意。现在我可以通过 Xcode 在设备上运行并通过命令行构建。 这个问题实际上是关于 ionic 并且与 Jenkins 完全无关尽管它们具有相同的根本原因(一个已弃用的命令),但 Jenkins 错误修复不会帮助解决 Ionic 问题。【参考方案5】:

我刚刚遇到这个问题,我的解决方案是从项目中删除 iOS 平台:

ionic platform rm ios

然后重新添加它

ionic platform add ios

我需要运行初始构建以使其在没有签名集的情况下失败,因此在 Xcode 中打开项目来修复它。之后,通过 ionic cli 构建按预期工作。我猜重新添加平台会引入新版本的 cordova-ios。

更新:我刚刚开始这个项目,并从 blank 模板创建了基础项目。我安装了 Xcode 8.3.1 并使用 Ionic 3(仍然使用带有 ionic cli 的 --v2 开关)。

【讨论】:

删除 ios 对我来说是个坏主意 发生了什么?平台目录中不应有任何无法自动重建的内容。 对不起,我收回了。添加脚本当时对我不起作用,但现在可以使用。不知道发生了什么。 很高兴听到现在一切正常【参考方案6】:

我用shenzhen这个自动程序遇到了类似的问题,最后按照github的Pull Request解决了我的问题,希望大家参考! https://github.com/nomad/shenzhen/pull/347

【讨论】:

【参考方案7】:

我找到了一种解决方法,可以使用命令行解决此问题,并在您的 Mac 上连接设备: 离子构建 ios --device ios-deploy --noninteractive --debug --bundle build/device/YOURAPP.app

在此之后,使用 Ctrl C 停止调试,您的应用将在您的设备上运行。

希望对你们有用。

【讨论】:

【参考方案8】:

这是由已弃用的 PackageApplication 引起的。如果您使用 remotebuild 工具从 Windows 运行,将在修复 remotebuild 错误后解决:https://github.com/Microsoft/remotebuild/issues/26

【讨论】:

【参考方案9】:

另一种解决方案是降级 XCode。

Here如果是关于如何卸载当前 XCode 的说明。

还有here你可以下载XCode 8.2。

【讨论】:

【参考方案10】:

一个选项是打开一个位于 platforms/ios 的 .xcodeproj 文件并直接从 Xcode 运行该项目。

【讨论】:

以上是关于xcrun:错误:无法找到实用程序“PackageApplication”,不是开发人员工具或 PATH - 因为更新 Xcode的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 xcrun 无法找到 simctl 错误?

xcrun:错误:无法找到 SDK“iphoneos”

xcrun 错误:无法从

构建失败并出现错误错误代码 72 命令:xcrun

错误:无法找到实用程序“git”,无法找到开发人员工具或PATH

Cloudbuild 无法从我的 Vue 应用程序中找到我的 package.json