Cordova无法使用--target读取未定义的属性"名称"

Tes*_*ser 5 cordova typescript ionic-framework ionic3 angular

当我使用指定的--target param运行ionic/cordova emulator命令时,我得到了无法读取未定义错误的属性"name".想知道是否有其他人之前已经得到这个,如果有可用的修复程序.

命令运行:ionic cordova模拟ios --target ="iPhone-6,10.3"和离子cordova模拟ios - 目标"iPhone-6,10.3"

这是我的离子信息

cli包:

@ionic/cli-utils  : 1.9.2
ionic (Ionic CLI) : 3.9.2
Run Code Online (Sandbox Code Playgroud)

全球套餐:

Cordova CLI : 7.0.1 
Run Code Online (Sandbox Code Playgroud)

本地包裹:

@ionic/app-scripts : 2.1.4
Cordova Platforms  : android 6.1.2 ios 4.4.0
Ionic Framework    : ionic-angular 3.6.0
Run Code Online (Sandbox Code Playgroud)

系统:

Android SDK Tools : 25.2.2
ios-deploy        : 1.8.5 
ios-sim           : 6.0.0 
Node              : v6.8.1
npm               : 3.10.8 
OS                : macOS Sierra
Xcode             : Xcode 8.3.3 Build version 8E3004b 
Run Code Online (Sandbox Code Playgroud)

Sam*_*ath 6

如果您运行以下操作并且没有设备(如图所示):

cordova run ios --list
Available ios devices:
Available ios virtual devices:
Run Code Online (Sandbox Code Playgroud)

这可能是由于Ionic指定了旧ios-sim版本4.4.0而不是最新版本.

cd platforms/ios/cordova && npm install ios-sim@latest
$ cd ../../../
$ cordova platform rm ios
$ cordova platform add ios@4.5.0
$ ionic cordova emulate ios --target --list
> cordova run ios --list --target --emulator
Available ios devices:

Available ios virtual devices:

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

您可以在Git上阅读有关此问题的更多信息


小智 5

删除iOS版本.这对我有用:

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


Jak*_*reb 0

首先使用 xcode 创建并命名模拟器(我建议使用易于键入的名称)。完成此操作后,您可以通过 Xcode 本身运行该 IDE 中的项目或使用 CLI 命令来运行模拟器。参考:- https://developer.apple.com/library/content/documentation/IDEs/Conceptual/iOS_Simulator_Guide/TestingontheiOSSimulator/TestingontheiOSSimulator.html#//apple_ref/doc/uid/TP40012848-CH4-SW1