Apple vieta l'utilizzo di API private o non documentate nelle app iOS. Qualsiasi chiamata effettuata a metodi che hanno lo stesso nome di metodi API privati o non documentati verrà contrassegnata come utilizzo API privato, anche se il metodo chiamato è qualcosa che hai definito tu stesso.
App Loader esegue una scansione iniziale, verificando i nomi dei metodi, l'accesso alle variabili di istanza e persino l'utilizzo di @selector con nomi di metodi privati. App Loader non fa sempre un ottimo lavoro, e più file sorgente hai, più è probabile che ti dica l'avvertimento che il file di analisi API che ha generato è "troppo grande".
Fortunatamente, puoi ancora inviare la tua domanda, nonostante l'avviso. Apple lo controllerà internamente e se qualcosa viene respinto a causa di nomi sovrapposti, dovrai attraversare nuovamente il processo di revisione.
Erika Sadun ha provato a creare un'app chiamata API Kit che eseguisse la scansione per te, ma sembra che abbia abbandonato il suo lavoro e abbia rimosso qualsiasi traccia dell'applicazione dal suo sito web.
Chimp Studios ha creato App Scanner per fare la stessa cosa, ma non è stato aggiornato dal 2011. Sfortunatamente, per progetti di grandi dimensioni - e questo include progetti con molti pod extra da CocoaPods - non c'è nulla di buono corrente (2014) modo per risolvere questo problema diverso dal nominare in modo proattivo le cose in modo che non entrino in conflitto con il metodo API privato e i nomi delle istanze.
Puoi conoscere in modo proattivo le convenzioni di denominazione Cocoa di Apple e cercare di anticipare. Ciò ridurrà i futuri mal di testa. Fino a quando Apple non introdurrà qualcosa come gli spazi dei nomi, tuttavia, potremmo continuare a riscontrare questo problema di tanto in tanto.
L'errore "binario non valido" può derivare da una serie di cause, ma è completamente estraneo al documento di analisi dell'API creato da App Loader.
Dovresti sapere che anche con la scansione, ci sono ancora modi per aggirare il divieto di utilizzare API private / non documentate. :)