development

Cordova / ionic 명령 줄에서 ios 에뮬레이터를 선택하는 방법

big-blog 2020. 12. 26. 16:28
반응형

Cordova / ionic 명령 줄에서 ios 에뮬레이터를 선택하는 방법


ionic emulate 명령 줄을 사용할 때 (나는 그것이 cordova phoengap과 동일하다고 가정하고 있습니다) 어떻게 장치를 선택합니까-ipad 또는 iphone 키가 큰 화면. 항상 기본적으로 3.5 인치 화면입니다.


이후 버전의 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

그리고 그들은 다음과 같은 것을 산출합니다.

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

특정 OS로 에뮬레이터를 시작하려면 다음을 사용하세요.

ionic cordova emulate ios --target "iPhone-X"

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

Ionic 및 Cordova의 이전 설치의 경우 RipTheJacker의 답변에 언급 된 구문을 사용하여 에뮬레이트 할 장치를 선택했습니다.

ionic emulate ios --target="iPhone-4s"

그러나 사용 가능한 에뮬레이션이 무엇인지 알아보기 위해 다음을 실행합니다.

ios-sim showdevicetypes

이 명령은 다음과 같은 목록을 반환합니다.

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

cordova emulate ios --target="TARGET"

또는

ionic emulate ios --target="TARGET"

어디 TARGET아이 패드, 아이폰, 아이 패드 (레티 나), 아이폰 (망막 3.5 인치), 아이폰 (망막 4 인치) 중 하나입니다

예 : ionic emulate ios --target="iPhone-5"


2018 년 5 월 업데이트

운영

ionic cordova run ios --target="iPhone-X"

iPhone-X목록에서 온 것으로 바꿀 수 있습니다.

./platforms/ios/cordova/lib/list-emulator-images

프로젝트의 루트 폴더에서 ( 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

OS 버전 (예 : 11.3)은 다운로드 한 이미지와 XCode 버전에 따라 변경 될 수 있습니다. 따라서이 목록의 장치가 작동하지 않으면 명령을 실행하고 자신의 목록을 가져 오십시오.


ionic2 이후 동일한 문제가 발생했습니다. ionic / cordova가 ios-sim을 무시하고 에뮬레이션 런타임에 자신을 할당하는 것처럼 보입니다. 설치된 플랫폼 (예 : ios (platforms / ios / cordova / lib / run.js))을 참조하십시오.

사용 가능한 시뮬레이터 실행을 보려면

ios-sim showdevicetypes

/ validate target device for ios-sim
// Valid values for "--target" (case sensitive):
var validTargets = ['iPhone-4s', 'iPhone-5', 'iPhone-5s', 'iPhone-6-Plus', 'iPhone-6',
    'iPhone-6s-Plus', 'iPhone-6s', 'iPad-2', 'iPad-Retina', 'iPad-Air', 'iPad-Air-2',
    'iPad-Pro', 'Resizable-iPhone', 'Resizable-iPad'];
if (!(runOptions.device) && runOptions.target && validTargets.indexOf(runOptions.target.split(',')[0]) < 0 ) {
    return Q.reject(runOptions.target + ' is not a valid target for emulator');
}

As long as you run the correct simulator under the list you should be fine:

ionic emulate ios --target="iPhone-6s-Plus, 10.2"


I don't know why this answers are not working for me. But what it does is doing the next:

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
  ...

This brings me the ids of the devices so i can do this next:

ionic cordova run ios --livereload --target "BA4986B3-9102-4250-91BF-7DDF7D7BC60D"

ReferenceURL : https://stackoverflow.com/questions/23268414/how-to-pick-the-ios-emulator-from-cordova-ionic-command-line

반응형