如何从cordova/ionic命令行中选择ios仿真器

Mon*_*key 58 cordova ionic-framework

在使用离子模拟命令行(我假设它与cordova phoengap相同)我如何选择设备 - ipad或iphone高屏幕.它总是默认为3.5"屏幕.

Joh*_*n P 109

使用Ionic和Cordova的更高版本,可以使用以下任何命令列出可用的仿真.已使用Ionic v3.20.0和Cordova 8.0.0测试了以下命令:

ionic cordova emulate --list # List any OS
cordova run --list           # List any OS
cordova run ios --list       # List specific OS
Run Code Online (Sandbox Code Playgroud)

他们产生的结果如下:

Available ios virtual devices:
iPhone-5s, 11.2
iPhone-6, 11.2
iPhone-6-Plus, 11.2
iPhone-6s, 11.2
iPhone-6s-Plus, 11.2
iPhone-7, 11.2
iPhone-7-Plus, 11.2
iPhone-8, 11.2
iPhone-8-Plus, 11.2
iPhone-SE, 11.2
iPhone-X, 11.2
iPad-Air, 11.2
iPad-Air-2, 11.2
iPad--5th-generation-, 11.2
iPad-Pro--9-7-inch-, 11.2
iPad-Pro, 11.2
iPad-Pro--12-9-inch---2nd-generation-, 11.2
iPad-Pro--10-5-inch-, 11.2
Apple-Watch-38mm, watchOS 4.2
Apple-Watch-42mm, watchOS 4.2
Apple-Watch-Series-2-38mm, watchOS 4.2
Apple-Watch-Series-2-42mm, watchOS 4.2
Apple-Watch-Series-3-38mm, watchOS 4.2
Apple-Watch-Series-3-42mm, watchOS 4.2
Apple-TV-1080p, tvOS 11.2
Run Code Online (Sandbox Code Playgroud)

要使用特定操作系统启动模拟器:

ionic cordova emulate ios --target "iPhone-X"
Run Code Online (Sandbox Code Playgroud)

另见:https: //cordova.apache.org/docs/en/latest/reference/cordova-cli/#cordova-run-command

对于Ionic和Cordova的旧版安装,我使用了RipTheJacker的答案中提到的语法来选择要模拟的设备,即:

ionic emulate ios --target="iPhone-4s"
Run Code Online (Sandbox Code Playgroud)

但是,为了找出可用的仿真是什么,我运行这个:

ios-sim showdevicetypes
Run Code Online (Sandbox Code Playgroud)

此命令将返回一个列表,如下所示:

iPhone-4s, 8.4
iPhone-5, 8.4
iPhone-5s, 8.4
iPhone-6-Plus, 8.4
iPhone-6, 8.4
iPad-2, 8.4
iPad-Retina, 8.4
iPad-Air, 8.4
Resizable-iPhone, 8.4
Resizable-iPad, 8.4
Run Code Online (Sandbox Code Playgroud)

  • 或者尝试从Cordova项目的根目录运行`./ platforms/ios/cordova/lib/list-emulator-images` :) (5认同)
  • 谢谢,显示设备类型的命令是一个巨大的帮助! (4认同)

Rip*_*ker 45

cordova emulate ios --target="TARGET"
Run Code Online (Sandbox Code Playgroud)

要么

ionic emulate ios --target="TARGET"
Run Code Online (Sandbox Code Playgroud)

其中TARGET一个是:iPad,iPhone,iPad(Retina),iPhone(Retina 3.5英寸),iPhone(Retina 4英寸)

例如: ionic emulate ios --target="iPhone-5"


Hug*_*o H 13

2018年5月更新

ionic cordova run ios --target="iPhone-X"
Run Code Online (Sandbox Code Playgroud)

您可以替换iPhone-X来自列表的任何内容

./platforms/ios/cordova/lib/list-emulator-images
Run Code Online (Sandbox Code Playgroud)

从您项目的根文件夹(如Tod Thomson的评论中所述)

对我来说,清单是

iPhone-5s, 11.3
iPhone-6, 11.3
iPhone-6-Plus, 11.3
iPhone-6s, 11.3
iPhone-6s-Plus, 11.3
iPhone-7, 11.3
iPhone-7-Plus, 11.3
iPhone-8, 11.3
iPhone-8-Plus, 11.3
iPhone-SE, 11.3
iPhone-X, 11.3
iPad-Air, 11.3
iPad-Air-2, 11.3
iPad--5th-generation-, 11.3
iPad-Pro--9-7-inch-, 11.3
iPad-Pro, 11.3
iPad-Pro--12-9-inch---2nd-generation-, 11.3
iPad-Pro--10-5-inch-, 11.3
Apple-TV-1080p, tvOS 11.3
Apple-TV-4K-4K, tvOS 11.3
Apple-TV-4K-1080p, tvOS 11.3
Apple-Watch-38mm, watchOS 4.2
Apple-Watch-42mm, watchOS 4.2
Apple-Watch-Series-2-38mm, watchOS 4.2
Apple-Watch-Series-2-42mm, watchOS 4.2
Apple-Watch-Series-3-38mm, watchOS 4.2
Apple-Watch-Series-3-42mm, watchOS 4.2
Run Code Online (Sandbox Code Playgroud)

os版本(即11.3)可能会根据您下载的图像和XCode版本而改变.因此,如果此列表中的设备不起作用,只需运行该命令并获取您自己的列表.


Dan*_* S. 12

我不知道为什么这个答案对我不起作用。但它的作用是:

native-run --list

Virtual Devices:

  iPad (5th generation) 12.2 11904882-5E5A-4941-B291-5D38F3B51E98
  iPad (6th generation) 12.2 82079A1A-87C1-47EC-BEC2-69BA97FC440C
  iPad Air 12.2 7E90921D-D166-4CE1-956F-0193EF6E972F
  ...
Run Code Online (Sandbox Code Playgroud)

这给我带来了设备的 ID,所以我接下来可以这样做:

ionic cordova run ios --livereload --target "BA4986B3-9102-4250-91BF-7DDF7D7BC60D"
Run Code Online (Sandbox Code Playgroud)