我的新离子应用无法在iOS模拟器中运行。
它是ionic和Xcode的全新安装,这些是我的步骤:
npm install -g ionic
ionic start myApp tabs
ionic cordova platform add ios
ionic cordova build ios
ionic cordova emulate ios
然后出现以下错误:
未为仿真器指定目标。部署到未定义的模拟器 /localhost/myApp/platforms/ios/build/emulator/MyApp.app/Info.plist 找不到文件。
根据此线程(Fresh Ionic Fails to Emulate iOS 12 - Info.plist file not found),它应与以下命令配合使用:
ionic cordova emulate ios -- --buildFlag="-UseModernBuildSystem=0"
但是随后出现以下错误:
未为仿真器指定目标。部署到未定义的模拟器 找不到设备类型“ com.apple.CoreSimulator.SimDeviceType.undefined”。
然后根据该线程(Issues starting iOS simulator from CLI),应该通过更新ios-sim来工作,如下所示:
cd platforms/ios/cordova && npm install ios-sim@latest
但是我仍然收到以下错误:
未为仿真器指定目标。部署到未定义的模拟器 找不到设备类型“ com.apple.CoreSimulator.SimDeviceType.undefined”。
Ionic:
ionic (Ionic CLI) : 4.10.2 (/usr/local/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.0.1
@angular-devkit/build-angular : 0.12.4
@angular-devkit/schematics : 7.2.4
@angular/cli : 7.2.4
@ionic/angular-toolkit : 1.4.0
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : ios 4.5.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 3.1.2, (and 4 other plugins)
System:
ios-deploy : 1.9.4
ios-sim : 7.0.0
NodeJS : v10.15.1 (/usr/local/bin/node)
npm : 6.4.1
OS : macOS Mojave
Xcode : Xcode 10.1 Build version 10B61
答案 0 :(得分:0)
尝试仅构建项目,然后先从Xcode运行它。
ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"
然后在Xcode中打开platforms/ios
文件夹,您将能够从那里运行它,并查看该项目可能存在的任何错误。最终决定将应用程序推送到商店时,您仍然需要这样做。
编辑
然后尝试定位特定的模拟器:
ionic cordova emulate ios --list
获取可复制到下一个命令的可用目标的列表。
ionic cordova emulate --livereload ios -- --buildFlag="-UseModernBuildSystem=0" --target="iPhone-X, 12.1"
示例针对iPhone XR。
答案 1 :(得分:0)
该问题与尚未在ios-sim上反映的Xcode 10的重大更改有关。您可以查看ion-sim repo问题"List empty of devices simulator with Xcode 10"。
该问题已得到解决,但正在等待新版本的提交。
您可以直接从Xcode继续在模拟器上运行您的App。
答案 2 :(得分:0)
问题出在ios-sim软件包上,该软件包无法检测正在运行的模拟器。 通过以下步骤更新到8.0.1为我解决了这个问题。
强制将ios-sim更新到工作版本
重要信息需要从platform / ios / cordova目录中完成。
cd platforms/ios/cordova && npm install ios-sim@8.0.1
ionic cordova emulate --list
ionic cordova build ios
ionic cordova emulate --release --prod --livereload ios -- --buildFlag="-UseModernBuildSystem=0"
这将找到任何正在运行的模拟器并部署应用程序