일반적으로 Simulator에 Xcode로 컴파일한 앱이 아니면 설치가 불가능합니다. 다만 약간의 트릭을 쓰면 쉽게 가능하지만요. 오늘은 app 파일인 .ipa(app)으로 Xcode Simulator에 설치해봅시다.
Extract .ipa file
![]() |
PK헤더! |
ipa 파일은 Android apk 와 유사하게 압축 파일입니다. 확장자를 변경 후 압축을 풀어줍니다.
#> cp test.ipa test.zip
#> unzip test.zip
압축을 풀어서 내용을 보면 .app 디렉토리가 나옵니다. 이 디렉토리에는 app에 대한 많은 정보(사실 전부죠)가 들어있고 이 디렉토리를 통해 Simulator에 설치가 가능합니다.
Xcode Simulator에 설치하기
xcode는 xcrun 이란 명령으로 커맨드라인에서 명령을 줄 수 있으며 simctl 옵션으로 simulator로 명령 전달이 가능합니다. install 명령을 주어 app 파일로 설치할 수 있습니다.#> xcrun simctl install [simulator 고유값] [app 경로]
app 경로는 방금 풀어낸 디렉토리여서 알겠지만.. 고유값은 과연 어디있을까요?
User 디렉토리 하위 Library/Developer/CoreSimulator/Devices/ 에 Simulator Devices 들이 존재합니다.
#> ls ~/Library/Developer/CoreSimulator/Devices/
2AA64BA2-1B71-4FBA-9735-294CC97715BCABSD
[....]
이런식으로 굉장히 많습니다. 물론 이 데이터들에 대한 정보는 device_set.plist 파일에 xml로 잘 정리되어있습니다.
#> cat ~/Library/Developer/CoreSimulator/Devices/device_set.plist
#> xcrun simctl install 2AA64BA2-1B71-4FBA-9735-294CC97715BCABSD ./test.app
App install script
매번 설치마다 디바이스를 찾기는 번거롭습니다. 그리고 때에 따라 모든 Simulator에 설치가 필요할 상황도 있죠.ad=$1
echo "Install" $ad
nowdir=$(pwd)
cd ~/Library/Developer/CoreSimulator/Devices/
devices=$(ls -d */)
cd "$nowdir"
for device in $devices
do
device_id=${device%/}
xcrun simctl install "$device_id" "$ad"
done
![]() |
HAHWULSecurity engineer, Gopher and H4cker! |
0 개의 댓글:
Post a Comment