Saya memiliki aplikasi yang sangat sederhana dengan satu tampilan, berisi beberapa UILabel. Saat berjalan di Simulator, konsol Xcode mengembalikan kesalahan:
libMobileGestalt MobileGestalt.c: 875: MGIsDeviceOneOfType tidak didukung pada platform ini.
Simulator itu sendiri hanya menampilkan layar putih. Saya juga mencoba menjalankannya di perangkat pengembang dengan layar putih yang sama. Saya telah mencari dokumentasi tetapi tidak dapat menemukan referensi apa pun MGIsDeviceOneOfType
. Aplikasi ini ditulis dalam Swift di Xcode 10 beta pada macOS 10.14. Saya mencoba menjalankannya di Simulator iPhone 7-X, serta iPhone 7 pengembangan, semua menjalankan perangkat lunak target (12.0).
Jawaban:
MobileGestalt
The libMobileGestalt.dylib menyediakan sebuah repositori pusat untuk semua properti iOS ini. Ini dapat dianalogikan dengan Gestalt OS X, yang merupakan bagian dari
CoreServices
. Gestalt OS X didokumentasikan misalnya Gestalt Manager dan sudah tidak digunakan lagi mulai 10.8. MobileGestalt sepenuhnya tidak didokumentasikan oleh Apple karena merupakan perpustakaan pribadi.MobileGestalt memungkinkan pengujian properti sistem yang mungkin kompatibel atau tidak pada simulator yang berbeda.
Beberapa proses sistem dan aplikasi di iOS mengandalkan MobileGestalt, yang terletak di /usr/lib/libMobileGestalt.dylib. Ini lebih merupakan perpustakaan dasar, tetapi API yang diekspos mengikuti konvensi kerangka kerja Apple dan menggunakan
MG
awalan API misalnyaMGIsDeviceOneOfType
.Jika Anda mencari MobileGestalt di sistem file iOS, Anda tidak akan menemukannya - seperti semua framework dan pustaka pribadi, itu telah ditautkan sebelumnya ke /System/Library/Caches/...etc. Jika Anda suka meretas dan menguji pena maka Anda dapat menggunakan alat untuk mengekstraknya.
MobileGestalt menyediakan banyak informasi - sekitar 200 atau lebih kueri - tentang berbagai aspek sistem. Berikut ini beberapa.
Ada ratusan lebih misalnya
AirplaneMode
,MobileEquipmentIdentifier
, dllMobileGestalt memelihara tabel kode pemilih OSType. misalnya c: 890 di pesan: libMobileGestalt MobileGestalt.c: 890: MGIsDeviceOneOfType tidak didukung di platform ini. Dalam hal ini
MGIsDeviceOneOfType
adalah metode pustaka MobileGestalt .Alih-alih memeriksa versi simulator, terdapat pemilih terpisah untuk menanyakan langsung kemampuan simulator. Pesan yang paling mungkin menunjukkan ketidakcocokan antara versi simulator dan versi Xcode dan / atau API yang tidak didukung di simulator.
sumber
Saya berhasil menjatuhkannya dengan menonaktifkan sampah proyek.
Pergi ke < Name of your Project > -> Scheme -> Edit Scheme Lalu pergi ke Run (menu di sebelah kiri) dan tambahkan variabel lingkungan berikut:
Nama : OS_ACTIVITY_MODE, Nilai : nonaktifkan
sumber
dalam kasus saya: periksa delegasi aplikasi Anda untuk metode - didFinishLaunching. Saya memiliki pribadi dan mendapatkan kesalahan. Setelah menghapus "pribadi" semuanya bekerja dengan baik
sumber
Saya baru saja menginstal Xcode 10 Beta dan mengalami masalah yang sama. Menjalankan Xcode 9.4.1 dan masalahnya hilang.
sumber
Kesalahan ini hanya akan terjadi saat pengujian / debugging pada simulator.
Semakin baru simulator semakin baik.
Kasus: Saya menjalankan simulator iPhone 8 plus Saya mendapat pesan ini di debugger.
Solusi: Saya mengubah ke simulator yang lebih baru tidak ada pesan kesalahan di debugger.
sumber
Mengalami ini saat membuka beberapa proyek dari GitHub di Xcode 10.0.
Solusi pragmatisnya adalah: cukup tekan 'Lanjutkan eksekusi program' beberapa kali dan mungkin nonaktifkan breakpoint pengecualian Anda . Rupanya pengecualian itu dapat dipulihkan.
Ini bukan solusi nyata tetapi cukup baik bagi saya pada saat itu.
sumber
Dalam kasus saya, Target Penyebaran Target ada di iOS 8. Ketika saya mendorongnya ke iOS 10.3, itu berjalan dengan baik, baik di Simulator dan perangkat.
sumber
Saya melihat masalah ini. Menggunakan Xcode 10.1. Membuat proyek baru - tidak melakukan apa pun kecuali menampilkan layar putih. Menemukan itu muncul di simulator untuk perangkat yang lebih lama. Misalnya, iPad Pro (12,9 inci) dan iPad Pro (12,9 inci) (generasi ke-2) menunjukkan masalah, tetapi masalah hilang untuk iPad Pro (12,9 inci) (generasi ke-3). Tidak muncul untuk simulator iPhone XR.
Pada dasarnya tampak menyebalkan.
sumber
Jika Anda memiliki font yang disediakan oleh aplikasi, Anda perlu menambahkan ke Info.plist Dan memeriksa apakah file tersebut telah memilih Keanggotaan Target
sumber
Cara biasa ketika terjadi kesalahan aneh membantu:
1) Proyek bersih;
2) Matikan simulator;
3) Pasang kembali pod.
Xcode 10.
sumber
Bagi saya, dengan simulator yang dimaksud dalam fokus, saya memilih Perangkat Keras-> Hapus semua konten dan pengaturan.
Setelah simulator dimulai ulang, peluncuran aplikasi saya berfungsi kembali, seperti yang diharapkan.
sumber
Device
->Erase All Content and Settings...
Saya pergi ke XCode -> Preferensi -> Komponen Centang semua simulator dan kotak centang untuk menginstal pembaruan secara otomatis, dan kemudian "periksa dan Instal sekarang" dan pergi selama beberapa jam sementara semuanya diperbarui.
Sekarang masalahnya hilang - jadi sebenarnya, seperti yang disebutkan. XCode Baru dengan Lama - simulator tidak diperbarui.
sumber
Saya mengalami masalah yang sama, tetapi dengan MapKit, di mana MapView tidak muncul, hanya layar putih dan kesalahan yang sama, MGIsDeviceOneOfType tidak didukung pada platform ini.
Mengatasinya dengan memperbaiki peringatan "Tata letak ambigu" yang terkait dengan objek MapView. Sekarang berfungsi dengan baik, dan kesalahannya hilang.
sumber
Apa yang berhasil bagi saya adalah mengubah ke dalam
general > Deployment Info > Main Interface
CDVLaunchScreen dan melakukan hal yang samageneral > App Icons and Launch Images > Launch Screen File
ke dalam CDVLaunchScreen juga.Saya berasal dari Ionic, jadi ini mungkin tidak menjadi masalah bagi mereka yang mengembangkan di Swift / Objective-C.
sumber
Saya baru saja memperbarui ke Xcode
10.2
dan ketika saya mencoba menjalankan proyek yang dibuat di versi sebelumnya, terjadi kesalahan yang sama.Masalahnya adalah simulator berjalan sebelum memperbarui Xcode.
Solusi sangat sederhana bagi saya untuk keluar dari Simulator dan memulai ulang sehingga bisa mendapatkan perubahan baru. Saya rasa model simulator (iPhone SE atau iPhone X) tidak penting. Anda hanya perlu memulai ulang simulator Anda agar pembaruan baru dapat diterapkan.
Saya akan merekomendasikan untuk keluar dari Xcode dan simulator dan restart Mac Anda.
sumber
Saya mendapat kesalahan ini dengan memanggil
.sync
antrian utama yang menyebabkan kebuntuan (DispatchQueue.main.sync {}
). Aku bermaksud menelepon.async
.sumber
Saya mendapat kesalahan ini, ketika mencoba membaca file json yang ada di dalam proyek saya dan hasilnya nihil, karena itu saya mendapat kesalahan ini.
Saya mendapat nihil karena beberapa kesalahan ejaan pada nama font, file json itu menahan nama font, setelah menyalin menempel nama font saya mendapat data dan kesalahan diperbaiki.
Saya mencoba semua hampir semua solusi yang diberikan di atas, tidak ada yang berhasil, Jadi debug dengan sabar, Anda akan mengetahui mana yang menyebabkan kesalahan ini dan dalam beberapa waktu yang buruk xcode akan bermain dalam hidup kita :)
sumber
Saya menghadapi masalah yang sama tetapi saya berhasil menjatuhkannya dengan hal-hal di bawah ini:
Saya harap ini akan membantu.
sumber