Saya sangat baru dalam hal ini. Saya mengikuti tutorial Apple langkah demi langkah untuk proyek iPhone "HelloWorld". Saya menjalankannya di simulator iPhone 5.0 dan jatuh:
2012-11-02 14: 46: 06.782 HelloWorld [9880: c07] * Mengakhiri aplikasi karena pengecualian yang tidak tertangkap 'NSInvalidUnarchiveOperationException', alasan: 'Tidak dapat membuat instance kelas yang bernama NSLayoutConstraint' * Panggilan lemparan pertama: (0x14a2052 0xea2d0a 0x144g7x7f0f04f0f04f0f04f0f04f0f04f071497) 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9 0x14761c5 0x13db022 0x13d990a 0x13d8db4 0x13d8ccb 0x112a7 0x12a9b 0x1fed 0x1f15 0x1) mengakhiri disebut melemparkan pengecualian (lldb)
Bisakah seseorang tolong beri tahu saya apa yang salah? Saya menggunakan Xcode 4.5.
sumber
Jawaban:
Secara default, ketika Anda membuat proyek iOS baru di Xcode 4.5, storyboard atau XIB Anda diatur untuk menggunakan Autolayout, yang merupakan fitur baru di iOS 6.0. The
NSLayoutConstraint
kelas merupakan bagian dari sistem AutoLayout, dan itu tidak ada dalam versi iOS.Jika Anda ingin menggunakan aplikasi Anda ke versi iOS yang lebih lama, Anda perlu mengubah storyboard atau XIB Anda untuk tidak menggunakan Autolayout. Ini kotak centang di Pemeriksa File:
sumber
File XIB Anda (Antarmuka File builder) mengandung unsur AutoLayout, yang iOS 5 tidak tidak didukung .
Di Xcode, buka file .xib Anda, dan masing-masing, matikan AutoLayout. Harus ada kotak centang di sebelah kiri mengatakan "Gunakan AutoLayout", hapus centang dan coba lagi. (Ini berada di bawah tab pertama di sisi kiri inspektur, ketika Anda memiliki pemilik File) dipilih.
sumber
Saya menemukan kesalahan ini ketika saya sedang mengerjakan proyek yang lebih tua yang ingin saya perbarui. Saya telah memilih kotak centang "Gunakan Autolayout" untuk mulai bekerja dengan kendala, tetapi lupa memperbarui pengaturan Target Penempatan saya ke iOS 6.
sumber
Anda harus menjalankannya di simulator iPhone 6.0. Kesalahan Anda:
Menyarankan Anda menggunakan autolayout, yang hanya berfungsi di iOS 6.
sumber