我无法在iOS模拟器中打开离子应用程序

时间:2019-02-15 21:26:20

标签: xcode ionic-framework

我的新离子应用无法在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

3 个答案:

答案 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更新到工作版本

  1. 重要信息需要从platform / ios / cordova目录中完成。

    cd platforms/ios/cordova && npm install ios-sim@8.0.1

  2. 检查设备是否现在列出,需要花费几秒钟

    ionic cordova emulate --list

  3. 如果尚未安装应用程序脚本,则会安装

    ionic cordova build ios

  4. 尝试部署到模拟器

    ionic cordova emulate --release --prod --livereload ios -- --buildFlag="-UseModernBuildSystem=0"

这将找到任何正在运行的模拟器并部署应用程序