Ionic在Mac OS Yosemite上模拟ios失败。他们有一些情况是ios设备模拟,但终端控制台不久后发出错误信息。
** BUILD SUCCEEDED **
No target specified for emulator. Deploying to iPhone-6 simulator
An error was encountered processing the command (code=146):
Invalid device state
An error was encountered processing the command (code=146):
Exception encountered connecting to CoreSimulatorBridge: Unable to connect to CoreSimulatorBridge
ENOENT, no such file or directory '/Users/yay/Library/Logs/CoreSimulator/2CAA2C39-7F22-4AF2-BBDE-86609188F37C/system.log'
Error code 1 for command: ios-sim with args: launch,/Users/yay/code/myApp/platforms/ios/build/emulator/myApp.app,--devicetypeid,com.apple.CoreSimulator.SimDeviceType.iPhone-6,--stderr,/Users/yay/code/myApp/platforms/ios/cordova/console.log,--stdout,/Users/yay/code/myApp/platforms/ios/cordova/console.log,--exit
Error: /Users/yay/code/myApp/platforms/ios/cordova/run: Command failed with exit code 2
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1015:16)
at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
答案 0 :(得分:7)
问题是因为您使用sudo来创建和/或构建项目。
只需输入这些命令(当然没有$
):
1)删除sudo
$ sudo ionic platform remove ios
2)在没有sudo的情况下添加iOS
$ ionic platform add ios
3)运行iOS模拟器
$ ionic emulate ios
来源:https://github.com/driftyco/ionic/issues/4052(rajkotecha'评论)
答案 1 :(得分:1)
在创建或构建项目时不要使用sudo。
答案 2 :(得分:-2)
之前我遇到过这个问题,我相信你搞砸了你的许可。但是,我设法通过从头开始重新安装所有内容来解决它(不重新格式化操作系统)。我建议您尝试删除所有Xcode,离子,cordova和ios-sim内容,然后重新安装。
删除里面的所有内容:
删除文件夹:
完成上述说明后,请使用您的聚光灯搜索节点, cordova ,离子等关键字。看它是否仍然存在。另请确保 用户/用户名 文件夹中的 yourApp 已删除。
您也可以尝试使用终端输入:
npm -v
cordova -v
ionic -v
如果您完全删除了所有内容,它将不会显示/找不到任何内容。
现在您可以从App Store下载并安装Xcode,并等待Xcode完全安装在您的Mac上,然后继续here重新启动您的离子项目。
最后,一旦你开始创建一个离子项目,你就不需要在创建或构建这个项目时使用任何 sudo 命令了。
示例:
ionic build ios
而不是:
sudo ionic build ios
除非您不是root用户,否则它应该正常工作。
快乐的编码,祝你有愉快的一天! :d