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/PackageApplication
或 chmod +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的主要内容,如果未能解决你的问题,请参考以下文章