iOS 10 / Xcode 8 GM build mendapatkan yang di bawah ini, belum pernah ada sebelumnya di Xcode 7. Ada ide?
objc [25161]: Kelas PLBuildVersion diimplementasikan di kedua /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworksssetoursserverservices9serveretetethttpwpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhahhhhhhhh? dan /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x1201) Salah satu dari keduanya akan digunakan. Yang mana yang tidak ditentukan.
(CATATAN: Tampaknya hanya terjadi dalam simulator, tidak muncul pada perangkat nyata).
Jawaban:
Ide utama
Gagasan utamanya sederhana:
Jika aplikasi Anda (atau dependensi, seperti Pod) menggunakan framework, yang menggunakan eksplisit (atau implisit)
PhotoLibraryServices.framework
atauAssetsLibraryServices.framework
sebagai dependensi, Xcode memperingatkan Anda (bahkan jika Anda hanya menggunakan salah satunya). MungkinPhotos/PhotosUI.framework
atauAssetsLibrary.framework
, atau yang lain (saya tidak punya daftar dependensi lengkap, tapi itu mungkin).Apa masalahnya?
Kelas dengan nama
PLBuildVersion
didefinisikan dalam keduanyaPhotoLibraryServices.framework
danAssetsLibraryServices.framework
. Nama kelas adalah unik di Objective-C (Anda tidak dapat menentukan 2 kelas dengan nama yang sama), jadi tidak ditentukan yang mana yang akan digunakan dalam runtime.Namun, saya pikir itu tidak akan menjadi masalah, karena kedua kelas memiliki metode dan bidang yang sama (diperiksa dengan disassembler) dan saya kira keduanya dikompilasi dari sumber yang sama.
Radar sudah terkirim.
sumber
.attributedText
. Saya tidak mengakses kamera atau foto. Peringatan ini juga menyebabkan kelambanan serius bagi Pengontrol Tampilan untuk memuat, meskipun tidak ada tugas intensif waktu yang terlibat (tidak ada akses jaringan, tidak ada file i / o, dll.).Sesuai jawaban dari karyawan Apple di Forum Pengembang Apple :
sumber
Saya tidak dapat menemukan cara untuk menghilangkan peringatan, tetapi jika Anda ingin mencegah aplikasi mogok, Anda perlu memberikan deskripsi mengapa Anda mengakses kamera, perpustakaan foto, dll. Ini baru di iOS10.
Masukkan yang berikut ke dalam
Info.plist
file Anda .Foto
Kunci:
Privacy - Photo Library Usage Description
Nilai:$(PRODUCT_NAME) photo use
Kamera
Kunci:
Privacy - Camera Usage Description
Nilai:$(PRODUCT_NAME) camera use
Info lebih lanjut dapat ditemukan di sini: https://iosdevcenters.blogspot.com/2016/09/infoplist-privacy-settings-in-ios-10.html
sumber
info.plist
file. Rupanya itu diperlukan di iOS 10.xSaya menemukan Anda bisa mendapatkan kesalahan ini hanya dengan menggunakan UIWebView. Solusi saya adalah mengganti penggunaan UIWebView dengan WKWebView.
sumber
Saya mendapatkan ini setelah menambahkan Answers on Fabric ke proyek saya.
Menghapus data turunan bermanfaat bagi saya. (menggeser perintah alt k di XCode)
Edit setahun kemudian:
Setelah menghapus data yang diturunkan, selalu keluar dari XCode dan mulai lagi.
Dalam kasus-kasus yang tidak berhubungan saya memiliki kesan bahwa menghapus data yang diturunkan tidak menghapus XCode dalam cache memori dari data yang diturunkan.
sumber
Mengatur ulang simulator iOS memperbaikinya untuk saya. Simulator -> Reset Konten Dan Pengaturan.
sumber
Dalam kasus saya, peringatan ini mulai muncul setelah membuka proyek xcode kedua dan menjalankan aplikasi kedua pada simulator. Setelah berubah kembali ke aplikasi pertama, peringatan mulai muncul. Saya baru saja keluar dari Simulator dan Xcode dan membuka kembali proyek saya. Peringatan itu hilang setelah itu. Jika itu tidak menyelesaikannya, lanjutkan dengan jawaban lain. Xcode terkadang sangat pemilih.
sumber