Saya ingin meluncurkan simulator iPhone dari baris perintah.
sampai sekarang saya telah menggunakan perintah di bawah ini
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice
-SimulateDevice digunakan untuk meluncurkan jenis perangkat tertentu
Sekarang dengan Xcode 6 jalur dan aplikasi telah diubah menjadi
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
tapi sayangnya opsi -SimulateDevice tidak berfungsi sekarang. Saya dapat meluncurkan simulator, tetapi tidak memiliki opsi untuk menentukan mana yang akan diluncurkan
Adakah yang menemukan alternatif untuk ini dengan Xcode 6?
sumber
xcrun simctl
akan mencantumkan perintah. Menurut pendapat saya, mereka cukup jelas.xcrun simctl boot <device id>
bukannyaxcrun instruments -w...
booted
sebagaibooted
sembarang memilih salah satu perangkat yang di-boot pada simulator.Dengan Xcode 6, jika Anda ingin iOS Simulator.app mem-boot perangkat tertentu saat diluncurkan, Anda dapat menjalankan ini dari baris perintah:
open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>
di mana Anda dapat mengetahui UDID perangkat yang ingin Anda boot:
xcrun simctl list
Dengan Xcode 7, aplikasi berganti nama menjadi Simulator.app, jadi Anda harus memperbarui yang di atas sesuai dengan:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
sumber
/usr/bin/xcrun simctl list
daftarkan simulator yang tersedia untuk Xcode biasa. Namun,open -a "iOS Simulator"
meluncurkan simulator beta 6.2, yang mengharapkan ID perangkat dari simulator beta. Bagaimana cara menentukan simulator yang saya luncurkan (reguler vs. beta)?defaults read com.apple.iphonesimulator
dan dapat menimpa salah satu dari yang ada di baris perintah. Simulator.app hanya menggunakan UDID untuk mengidentifikasi perangkat secara unik. Anda tidak dapat menggunakan nama itu.Untuk xcode 7:
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
Dapatkan simulator udid Anda dari
xcrun simctl list
sumber
Untuk meluncurkan simulator dengan perangkat tertentu yang di-boot saya menggunakan subperintah perangkat daftar untuk mendapatkan daftar semua perangkat yang tersedia
perintah ini akan menampilkan daftar perangkat yang tersedia dengan UDID dan statusnya
Kemudian saya meluncurkan aplikasi simulator yang menentukan perangkat dengan opsi -CurrentDeviceUDID
CATATAN: ganti dengan UDID yang valid dari daftar.
Misalnya, jika kita ingin meluncurkan simulator dengan Ipad (% generasi yang di-boot):
UPDATE 23/05/2018
Dengan Xcode 9.3 opsi UDID Perangkat Saat Ini tidak berfungsi untuk saya, sebagai solusinya, saya harus menggunakan simctl untuk mem-boot perangkat di simulator sebelum membukanya.
Anda dapat membuat, menghapus, menghapus, mem-boot, mematikan, dan meningkatkan simulator menggunakan simctl.
Untuk mendapatkan daftar valid jenis perangkat dan runtimes
sumber
Untuk mem-boot simulator:
Ini akan boot sebagai mode tanpa kepala. Untuk membuat simulator terlihat:
xcrun simctl boot
lebih sederhana darixcrun instruments -w
.instruments
membutuhkan nama perangkat lengkap.sumber
Anda dapat menentukan perangkat keras dan versi iOS dengan -w flag. Formatnya adalah
Misalnya:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.Anda akan mendapatkan kombinasi hardvare-iOS yang tersedia dengan menggunakan
instruments -w help
perintah.sumber
instruments -s devices
untuk mendapatkan daftar perangkat. Namun, setelah Anda memiliki nama perangkat, memanggil sajainstruments -w <device>
kemungkinan besar akan menghasilkan kesalahan karena instrumen mencoba menulis jejak ke root drive Anda. Anda mungkin ingin menentukan jalur untuk jejak yang akan berhasil ditulisi.-D
untuk menentukan direktori keluaran untuk dokumen .trace.Diverifikasi di Xcode 9.4.1
Daftar perangkat dalam FORMAT BENAR-BENAR BAGUS:
~/Library/Developer/CoreSimulator/Devices/device_set.plist
Kemudian Anda ingin menjalankan (membuka) aplikasi Simulator Anda dan memastikan bahwa instance baru dari aplikasi tersebut diluncurkan.
Aplikasinya ada di sini:
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
Dan format yang Anda gunakan adalah seperti ini:
open -n -a <SimulatorPath> --args -CurrentDeviceUDID <SimDeviceTypeUDID>
Jadi, jika saya ingin meluncurkan Simulator di atas, saya akan melakukan ini.
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
Sialan! Saya baru saja mengujinya dan berfungsi di Mac OS 10.11.6. Sekarang trik selanjutnya adalah memberi tahu Simulator untuk membuka aplikasi terinstal kami. Saya belum sampai di sana. Semoga ini membantu. Terima kasih kepada https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia untuk penjelasan mendetailnya.
sumber
Jalankan perintah ini. Aplikasi akan dimulai ulang diikuti dengan perubahan. Tidak perlu membangunnya kembali.
Untuk daftar devicetypeid:
sumber