Saya memprogram aplikasi dengan cepat dan ketika saya menjalankan aplikasi uji pada simulator iPhone semuanya berfungsi, tetapi kemudian saya mencoba menggesek ke kanan, yang merupakan isyarat yang saya tambahkan untuk menuju ke Halaman berikutnya (Lihat Pengontrol Dua) crash dan menunjukkan laporan kesalahan ini di log konsol.
2014-10-18 12:07:34.400 soundtest[17081:818922] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<soundtest.ViewControllerTwo 0x7f92f1f20090> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key sfdfa.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001067813f5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001082afbb7 objc_exception_throw + 45
2 CoreFoundation 0x0000000106781039 -[NSException raise] + 9
3 Foundation 0x0000000106b984d3 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x00000001066cb400 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x00000001072ce97d -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x000000010712f698 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x000000010712fc88 -[UIViewController loadView] + 109
8 UIKit 0x000000010712fef9 -[UIViewController loadViewIfRequired] + 75
9 UIKit 0x000000010713038e -[UIViewController view] + 27
10 UIKit 0x00000001076cd83f -[_UIFullscreenPresentationController _setPresentedViewController:] + 65
11 UIKit 0x000000010710bc49 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 105
12 UIKit 0x000000010713c121 -[UIViewController _presentViewController:withAnimationController:completion:] + 1746
13 UIKit 0x000000010713e461 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 132
14 UIKit 0x000000010713e385 -[UIViewController presentViewController:animated:completion:] + 229
15 UIKit 0x00000001073bb9d6 _UIGestureRecognizerSendActions + 262
16 UIKit 0x00000001073ba679 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 532
17 UIKit 0x00000001073bf296 ___UIGestureRecognizerUpdate_block_invoke662 + 51
18 UIKit 0x00000001073bf192 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 254
19 UIKit 0x00000001073b520d _UIGestureRecognizerUpdate + 2796
20 UIKit 0x00000001070520a6 -[UIWindow _sendGesturesForEvent:] + 1041
21 UIKit 0x0000000107052cd3 -[UIWindow sendEvent:] + 667
22 UIKit 0x000000010701fae1 -[UIApplication sendEvent:] + 246
23 UIKit 0x000000010702cbad _UIApplicationHandleEventFromQueueEvent + 17370
24 UIKit 0x0000000107008233 _UIApplicationHandleEventQueue + 1961
25 CoreFoundation 0x00000001066b6ad1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
26 CoreFoundation 0x00000001066ac99d __CFRunLoopDoSources0 + 269
27 CoreFoundation 0x00000001066abfd4 __CFRunLoopRun + 868
28 CoreFoundation 0x00000001066aba06 CFRunLoopRunSpecific + 470
29 GraphicsServices 0x000000010a1699f0 GSEventRunModal + 161
30 UIKit 0x000000010700b550 UIApplicationMain + 1282
31 soundtest 0x000000010624503e top_level_code + 78
32 soundtest 0x000000010624507a main + 42
33 libdyld.dylib 0x000000010ae4a145 start + 1
34 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
cmmd + F
sehingga Anda dapat mencari di dalam konsol dan mencari aplikasi Pengakhiran karena pengecualian tanpa tertangkap , tepat 1 baris setelah itu Anda akan melihat alasan: yang memberi tahu Anda alasan aplikasi Anda mogok. (Ya saya sudah terlalu sering mengalami kesalahan ini :)Jawaban:
CMYR - "nya juga bisa terjadi jika Anda telah memasang tombol ke IBAction yang tidak ada lagi (atau telah diganti nama)"
Jika Anda mengalami masalah ini pastikan Anda masuk ke Main.storyboard, KANAN klik ikon kotak kuning (view controller) di bagian atas garis besar telepon dan HAPUS stopkontak dengan bendera kuning.
Apa yang terjadi dalam kasus seperti ini adalah Anda mungkin bernama tindakan, lalu ganti namanya. Anda harus menghapus nama lama dan jika itu satu-satunya masalah akan mulai di sim!
sumber
Apakah Anda menetapkan variabel OS_ACTIVITY_MODE secara kebetulan? Untuk memeriksa apakah Anda memiliki set variabel ini (dan mematikannya), dalam Xcode 9, lakukan hal berikut:
Select from Xcode menu Product -> Scheme -> Edit Scheme.. Select the Run scheme and look under Arguments. If you see the OS_ACTIVITY_MODE variable checked, deselect it
sumber
Dalam Xcode 9 dan Swift 4:
Cetak tumpukan pengecualian untuk mengetahui alasan pengecualian:
Tambahkan (+) Tambahkan Exception Breakpoint.
Pilih breakpoint baru, Control-Click, Edit Breakpoint.
sumber
Dalam kasus saya, saya memanggil metode delegasi tetapi metode itu tidak dinyatakan.
Kesalahan ini bersifat umum dan dapat muncul karena sejumlah alasan. Pastikan Anda belum menonaktifkan Log Anda untuk benar-benar melihat apa yang terjadi. Aktifkan OS_ACTIVITY_MODE dalam skema jika Anda telah menonaktifkannya. Anda mungkin telah menonaktifkannya untuk mencegah banyak log yang tidak relevan tetapi mereka berguna.
Anda juga dapat melacak penyebabnya dengan lebih detail dengan menambahkan breakpoint pengecualian
po $arg1
. Seperti yang sudah disebutkan oleh Ahmed-LotfiBerikut adalah daftar periksa umum yang dapat Anda lalui.
sumber
Solusi lain tidak berfungsi dari saya, ini milik saya. Ini hanya berlaku untuk Xcode 8 saat berjalan dalam mode lawas Swift 2.3 :
Sepertinya Interface Builder sedang mencoba untuk mengubah nama metode yang harus dihubungkan ke tombol.
Ini radar dengan lebih detail.
Solusinya (solusinya) adalah secara manual mengganti nama parameter metode ke
_
:Ubah ini:
sumber
Itu juga bisa salah Nama Pengidentifikasi Segue. Misalnya -
sumber
Situasi saya sedikit berbeda, saya mencoba untuk membagi menjadi
UINavigationController
, dan apa yang diperbaiki bagi saya adalah mendapatkan bagian antrian utama.Untuk Objective-C:
Untuk Swift 3:
sumber
Ini mulai terjadi pada saya di Xcode 7, dan saya tidak punya outlet dengan bendera kuning yang bisa saya hapus.
Satu-satunya hal yang berhasil bagi saya adalah mengganti baris ini di AppDelegate:
untuk:
sumber
Bagi saya, masalahnya ada di IBAction saya dengan UIButton.
Saat Anda Ctrl + Seret untuk membuat IBAction dari UIButton, pastikan untuk memilih "UIButton" dari dropdown Type. Pilihan default AnyObject menyebabkan aplikasi mogok ketika Anda mengetuk tombol UIB.
sumber
Itu juga bisa menjadi Segues Dipicu rusak, periksa di storyboard Anda, segera setelah Anda menghubungkan kembali segues atau outlet itu semua harus bekerja lagi.
Pastikan
Identifier
Segue benar dan mirip dengan kode Anda .sumber
Saya mengalami masalah ini ketika saya mengubah nama variabel yang terhubung ke salah satu tombol saya. Jadi ingatlah itu!
sumber
Saya baru mengenal Xcode, jadi butuh beberapa jam untuk mencari tahu masalah ini untuk memuat file xls. Saya mengikuti sebagian besar kode sampel di sana dan tidak ada yang memecahkan kesalahan Xcode yang ditunjukkan.
Solusi yang saya temukan adalah bahwa kita perlu menentukan 'Tambahkan ke target:' centang proyek untuk menambahkan, ketika kita mengimpor file xls ke Xcode dengan drag dan drop ke Project -> File Pendukung.
sumber
mungkin ada lebih dari 1 IBAction untuk tombol di view controller Anda, coba cari tahu itu dan hapus semua item sebelumnya untuk tombol itu di controller Anda dan buat tombol baru. Ini akan menyelesaikan masalah Anda.
sumber
Pastikan Anda tidak secara dinamis menerapkan batasan relatif ke tampilan yang belum ada dalam hierarki tampilan.
Dalam contoh di atas, bottomView telah menjadi bagian dari hierarki tampilan sebelum menerapkan batasan relatif padanya.
sumber
Saya mendapatkan kesalahan ini dalam 2 cara berikut:
Saya mendapatkan kesalahan ini ketika saya mendorong ke UIViewController lain.
NAMUN oleh kesalahan saya subclass kelas lain dari
UITabBarController
dan mendapatkan kesalahan ini.Bagaimana saya memperbaikinya? Saya subclass dari
UIViewController
dan saya tidak lagi crash :)Saya tidak ingin menggunakan storyboard. Jadi saya menghapusnya. Namun saya lupa untuk menghapus referensi di pengaturan Proyek . Saya baru saja mengklik proyek >> Umum >> Info Penempatan >> dan saya kemudian mengatur Antarmuka Utama ke ruang kosong. (Itu sebelumnya diatur ke utama)
Seperti yang Anda lihat untuk kedua situasi Anda mendapatkan kesalahan untuk mengakses beberapa objek yang memang ada ...
sumber
Saya akan menambahkan masalah saya ke daftar solusi yang mungkin kalau-kalau ada orang lain terjadi pada utas ini.
Pengidentifikasi sel TableView. Pertama, pastikan sel Anda memiliki pengenal. Kedua, pastikan Anda mereferensikan pengidentifikasi itu ketika Anda mengeluarkan sel.
sumber
Swift 4 :
Saya mendapatkan kesalahan ini karena perubahan pada api UIVisualEffectView. Di Swift 3, boleh saja melakukan ini:
myVisuallEffectView.addSubview(someSubview)
Tetapi dalam Swift 4 saya harus mengubahnya menjadi ini:
myVisualEffectView.contentView.addSubview(someSubview)
sumber
Saya memiliki kesalahan yang sama ketika saya salah ketik untuk salah satu tampilan sementara membangun kendala menggunakan formatter visual. Saya harap itu membantu seseorang ... atau saya lagi suatu hari nanti.
sumber
Jika Anda menggunakan react asli dan react-native-firebase, pastikan Anda menautkan file Google-Services.plist ( https://github.com/invertase/react-native-firebase/issues/313#issuecomment-320435560 )
sumber
Dalam kasus saya, itu adalah UIAlertView di iPad: UIAlertController rusak (iPad) . Saya tidak mengatur sourceView dan sourceRect.
sumber
Untuk kasus saya, Xcode 8.2.1 , saya memiliki Tampilan Kit Peta di pengontrol tampilan. Jadi saya pergi ke
dan menambahkan
MapKit.framework
, maka itu baik-baik saja.Saya pikir ini juga akan berlaku untuk pandangan lain yang membutuhkan kerangka kerja.
PS Running di iOS 9 memberi tahu saya bahwa ada masalah tentang Map Kit View, sedangkan di iOS 10 tidak ada yang memberi tahu saya!
sumber
Hanya solusi "drop armageddon" yang bekerja untuk saya:
sumber
Dalam kasus saya, XCode mulai lelah dan gagal memulai aplikasi dengan pesan ini, karena pernyataan gagal (yang ditetapkan oleh kode kami).
Berjalan di perangkat lain menunjukkan kegagalan pernyataan, yang dapat kami perbaiki, dan semuanya kembali normal.
sumber
Untuk Swift 2.3
Tampaknya ini adalah bug dengan Xcode 8 dan Swift 2.3, jika Anda menghubungkan aksi tombol ke kode Anda melalui storyboard pastikan bahwa Xcode tidak mengganti nama tindakan, bagi saya itu menambahkan withSender: di akhir metode , jadi apa yang saya lakukan adalah pergi ke kode saya dan mengganti nama metode agar sesuai dengan yang Xcode tulis.
Untuk versi lain periksa jawaban yang benar.
sumber
Dalam kasus saya, itu adalah InterfaceBuilder. Saya telah menyalin beberapa Tampilan dari ViewController lain yang mengacaukan kendala.
Di InterfaceBuilder saya mengalami kesalahan panah merah pada ViewController.
Selama eksekusi, aplikasi macet.
sumber
Dalam kasus saya, aplikasi mogok karena saya tidak menetapkan target keanggotaan papan cerita.
sumber
Dalam kasus saya, proyek
Build Settings
berisi beberapa direktori yang tidak ada untukFramework Search Paths
danLibrary Search Paths
.sumber
Saya punya dua masalah:
1) Target saya tidak memiliki view controller termasuk yang digunakan dalam file storyboard.
2) Papan cerita saya berusia sekitar 3 tahun, saya harus membuat ulang salah satu pengontrol tampilan di pengontrol tab bar dari awal (hanya memiliki UITextField dan saya masih tidak tahu mengapa itu tidak berfungsi)
sumber
Namun kemungkinan penyebab lain:
Dalam kasus saya, saya punya
xib
dan meneleponBundle.main.loadNibNamed(...
pada titik mana itu mengalami crash. Semua milikkuIBOutlets
danIBActions
tampak baik-baik saja. Pada akhirnya saya perhatikan bahwanib
sebenarnya sedang memuat, tetapi kemudian ketika saya mencoba mengakses tampilan pertama (dan hanya) (nib.first
), itu tidak berfungsi. Bahkannib.count
mengembalikan integer yang sangat besar (max int?), Bukan yang diharapkan1
. Saya mencoba menambahkan kembali tampilan, tetapi tetap tidak berhasil.Pada akhirnya, saya menghapus seluruh
xib
file dan mulai lagi (tapi saya menyimpan beberapa tampilan di clipboard saya sehingga saya bisa menempelkannya daripada menciptakannya lagi).Ini berhasil!
sumber
Ini bisa terjadi jika Anda memiliki tabel dan lupa untuk menetapkan UITableViewDelegate dan UITableViewDataSource ke kelas
sumber