Chcę zainstalować symulatory IOS za pomocą wiersza poleceń. Z pobranej plisty widzę to:
<dict>
<key>dependencies</key>
<array/>
<key>fileSize</key>
<integer>584180466</integer>
<key>identifier</key>
<string>Xcode.SDK.iPhoneSimulator.6.1</string>
<key>name</key>
<string>iOS 6.1 Simulator</string>
<key>source</key>
<string>http://devimages.apple.com/downloads/xcode/simulators/ios_6_1_simulator.dmg</string>
<key>userInfo</key>
<dict>
<key>ActivationPredicate</key>
<string>$XCODE_VERSION >= '5.0'</string>
<key>ApplicationsBlockingInstallation</key>
<array>
<string>com.apple.iphonesimulator</string>
</array>
<key>IconType</key>
<string>IDEDownloadablesTypeSimulator</string>
<key>InstallPrefix</key>
<string>$(DEVELOPER)</string>
<key>InstalledIfAllPathsArePresent</key>
<array>
<string>$(DEVELOPER)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk</string>
</array>
<key>RequiresADCAuthentication</key>
<false/>
<key>Summary</key>
<string>This package enables testing of this previous version of iOS by installing legacy frameworks into the iOS Simulator. If your app intends to support this version of iOS, it is highly recommended that you download this package to aid in your development and debugging.</string>
<key>Xcode.SDKs</key>
<array>
<dict>
<key>CanonicalName</key>
<string>iphonesimulator6.1</string>
<key>Path</key>
<string>$(DEVELOPER)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk</string>
<key>Platform</key>
<string>com.apple.platform.iphonesimulator</string>
<key>SupportedDeviceFamilies</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>Version</key>
<string>6.1</string>
</dict>
</array>
</dict>
<key>version</key>
<string>6.1</string>
</dict>
Tutaj jest .dmg
http://devimages.apple.com/downloads/xcode/simulators/ios_6_1_simulator.dmg
i an InstallPrefix.
W środku .dmg
jest .pkg
plik instalowany do (względny) ./Platforms
.
Problem polega na tym, że jeśli tylko spróbuję zainstalować to przez installer
:
sudo installer -pkg /Volumes/.../ios_6_1_simulator.pkg -target /
Zainstaluje się na /Platforms
zamiast zamierzonego /Applications/Xcode.app/Contents/Developer/Platforms
.
Nie mogę ustawić innego celu, który nie jest punktem montowania. Jak mogę go zainstalować w tej lokalizacji?
EDYTOWAĆ: To nawet nie działa, jeśli ustawię niestandardowy punkt montowania. Oto moja próba:
$ mkdir /tmp/SampleDir
$ hdiutil create -srcfolder "/tmp/SampleDir" -volname "Sample Install" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size 1g pack.temp.dmg
.............................................................................................................................................................................................................................................
created: /tmp/pack.temp.dmg
$ hdiutil attach -readwrite -noverify -noautoopen -mountpoint /Volumes/SampleDir "pack.temp.dmg"
/dev/disk4 GUID_partition_scheme
/dev/disk4s1 Apple_HFS /Volumes/SampleDir
$ sudo installer -pkg ~/Desktop/iPhoneSimulatorSDK6_1.pkg -target /Volumes/SampleDir
Password:
installer: Package name is iPhoneSimulatorSDK6_1
installer: Installing at base path /Volumes/SampleDir
installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)
macos
install
automation
St. John Johnson
źródło
źródło
Odpowiedzi:
W sytuacji, gdy instalujesz pakiet, który obsługuje relokację, możliwe jest udostępnienie pliku XML opcji instalatora
installer
zmodyfikować opcje instalacji. Jednak może to nie być obsługiwane lub dostępne na wszystkich pakietach (w zależności od tego, jak pakiet został zbudowany). Z strona podręcznika instalatora :Z tego, co widzę, iPhoneSimulatorSDK6_1.pkg, do którego się odwołujesz, nie obsługuje tej opcji. Jednak nadal możliwe jest przeniesienie ładunku pakietu instalacyjnego po instalacji:
Alternatywnie możesz użyć
pkgutil
aby rozwinąć pakiet,cpio
wyodrębnić ładunek imv
umieścić SDK na swoim miejscu:Nie jestem pewien, w jaki sposób Xcode umieszcza symulatory / SDK we właściwej lokalizacji. Jednak obie wyżej wymienione metody pozwalają na użycie symulatora iOS 6.1 w Xcode 5.0.2 na Mavericks (10.9).
źródło