Ionic3项目构建iOS APK报错:未找到xcodebuild求解决
问题描述
我在执行ionic cordova build ios apk命令构建项目时遇到了如下错误:
cordova build ios
(node:18556) UnhandledPromiseRejectionWarning: xcodebuild was not found. Please install version 7.0.0 or greater from App Store
(node:18556) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:18556) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
当前我的环境配置如下:
[11:41:11] lint finished in 13.88 s PS C:\Users\user\myApp> cordova -v 8.0.0 PS C:\Users\user\myApp> java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) PS C:\Users\user\myApp> javac -version javac 1.8.0_101 PS C:\Users\user\myApp>
问题分析与解决方案
兄弟,这个问题的核心原因其实很直白:你现在是在Windows系统下尝试构建iOS项目,但iOS的核心构建工具xcodebuild是MacOS专属的,只有安装了Xcode的Mac电脑才能运行它,Windows上压根没有这个工具,自然会报错。另外,你输入的命令也有小问题——apk是Android应用的包格式,iOS的包格式是ipa,所以正确的iOS构建命令应该是ionic cordova build ios,不需要加apk后缀。
给你两个可行的解决办法:
- 方法一:使用Mac电脑构建
准备一台Mac设备,从App Store安装Xcode(要求版本至少7.0.0以上,建议安装最新稳定版)。安装完成后,务必打开一次Xcode,同意苹果的服务协议并完成相关组件的自动安装,这样xcodebuild才能正常被系统识别。之后在Mac环境下进入项目目录,执行ionic cordova build ios就能正常构建iOS项目了。 - 方法二:使用云构建服务
如果没有Mac电脑,可以考虑用Ionic官方的Appflow这类云构建平台,上传你的项目代码后,在云端完成iOS项目的构建,不需要自己配置Mac环境,操作也比较便捷。
内容的提问来源于stack exchange,提问作者developerworld

