Nativescript iOS启动报错:xcodebuild命令退出码为null
先还原下你的问题场景:
用
tns create application --ng创建了NativeScript Angular应用,执行tns run ios --emulator启动时报错:无法在设备BC7714A3-A8B0-4CEC-A7A4-D54563CF04EE上应用更改,错误提示Command xcodebuild failed with exit code null,日志片段如下:Searching for devices... Executing before-liveSync hook from /XXXXXX/Desktop/Bike/hooks/before-liveSync/nativescript-angular-sync.js Skipping prepare. Building...
我之前也踩过这个xcodebuild返回null的坑,给你几个实测有效的解决步骤:
先检查Xcode命令行工具的状态
终端里先跑xcode-select --install,如果提示已安装,再确认路径是否正确:xcode-select -p,正常应该指向/Applications/Xcode.app/Contents/Developer。如果路径不对,用sudo xcode-select -s /Applications/Xcode.app/Contents/Developer修正。务必接受Xcode许可协议
刚装完Xcode或者更新后,必须同意许可才能正常用命令行工具。终端执行sudo xcodebuild -license accept,一路确认就好。彻底清理项目缓存和构建文件
进入你的项目根目录,依次执行这些命令:tns clean rm -rf platforms ios node_modules npm install清理完后再重新跑
tns run ios --emulator试试,很多时候缓存问题会导致这种奇怪的构建失败。检查目标模拟器状态
打开Xcode的模拟器,看看那个BC7714A3-A8B0-4CEC-A7A4-D54563CF04EE对应的设备是不是卡死了。不行的话直接删掉这个模拟器,新建一个同版本的iOS模拟器,再重新运行命令。核对NativeScript版本兼容性
用tns --version看CLI版本,再检查package.json里@nativescript/angular等依赖的版本,确保它们是官方推荐的兼容组合——版本不匹配也经常会引发这类构建错误。
内容的提问来源于stack exchange,提问作者Tony Hensler

