Saya akan mengunggah aplikasi mac pertama saya ke Apple Store
Dan memperbaiki semua bug validasi ikon, kategori ...
Tetapi setelah itu saya lulus validasi dengan peringatan:
The resulting API analysis file is too large. We were unable to validate your API usage prior to delivery. This is just an informational message.
Dan unggahan saya ditolak dengan alasan: "Invalid binary"
Adakah yang pernah mengalami kasus ini?
PEMBARUAN: peringatan ini bukan alasan penolakan, mungkin itu masalah pengarsipan aplikasi. Saya berhasil merilis aplikasi saya ke toko.
Jadi, kita bisa mengabaikannya dengan aman.
Jawaban:
Apple melarang penggunaan API pribadi atau tidak berdokumen di aplikasi iOS. Setiap panggilan yang Anda lakukan ke metode yang memiliki nama yang sama dengan metode API pribadi atau tidak berdokumen akan ditandai sebagai penggunaan API pribadi, meskipun metode yang dipanggil adalah sesuatu yang telah Anda tentukan sendiri.
App Loader melakukan pemindaian awal, memeriksa nama metode, akses variabel instance, dan bahkan penggunaan @selector dengan nama metode pribadi. App Loader tidak selalu bekerja dengan baik, dan semakin banyak file sumber yang Anda miliki, semakin besar kemungkinannya untuk memberi Anda peringatan bahwa file analisis API yang dibuatnya "terlalu besar".
Untungnya, Anda masih bisa mengirimkan aplikasi Anda, meskipun sudah diperingatkan. Apple akan memeriksanya secara internal, dan jika sesuatu ditendang karena nama yang tumpang tindih, Anda harus melewati proses peninjauan lagi.
Erika Sadun mencoba membuat aplikasi bernama API Kit yang akan memindai untuk Anda, tetapi dia tampaknya telah meninggalkan pekerjaannya dan menghapus semua jejak aplikasi dari situsnya.
Chimp Studios membuat App Scanner untuk melakukan hal yang sama, tetapi belum diperbarui sejak 2011. Sayangnya, untuk proyek besar - dan ini termasuk proyek dengan banyak pod ekstra dari CocoaPods - tidak ada barang (2014) yang terkini cara memecahkan masalah ini selain memberi nama secara proaktif sehingga tidak akan bertentangan dengan metode API pribadi dan nama instance.
Anda secara proaktif dapat mempelajari tentang Konvensi Penamaan Kakao Apple dan mencoba mengantisipasinya. Itu akan mengurangi sakit kepala di masa depan. Namun, hingga Apple memperkenalkan sesuatu seperti ruang nama, kami mungkin terus mengalami masalah ini dari waktu ke waktu.
Kesalahan "biner tidak valid" dapat berasal dari beberapa penyebab, tetapi ini sama sekali tidak terkait dengan dokumen analisis API yang dibuat oleh App Loader.
Anda harus tahu bahwa meskipun dengan pemindaian, masih ada cara untuk menghindari larangan menggunakan API pribadi / tidak berdokumen. :)
sumber
Setelah membahas masalah ini untuk pertama kalinya pada proyek Swift pertama saya, sepertinya jawaban paling umum untuk pertanyaan ini sekarang:
Jika Anda menggunakan Swift 2.x dan XCode 7, Anda akan mendapatkan kesalahan ini. Abaikan saja.
[PEMBARUAN: Peluncuran XCode 7.3 & iOS 9.3 tampaknya telah memperbaiki masalah ini!]
sumber
Berikut ini cara mudah untuk mengatasinya ... simpan nama pemilih secara terbalik, seperti "dlroWolleH", lalu balikkan string sebelum Anda memanggil metode tersebut.
Jika Apple bijaksana untuk itu maka Anda dapat mengenkripsi mereka.
sumber