Apple verbietet die Verwendung privater oder undokumentierter APIs in iOS-Apps. Alle Aufrufe von Methoden, die denselben Namen wie private oder nicht dokumentierte API-Methoden haben, werden als private API-Verwendung gekennzeichnet, auch wenn die aufgerufene Methode von Ihnen selbst definiert wurde.
App Loader führt einen ersten Scan durch, bei dem nach Methodennamen, Zugriff auf Instanzvariablen und sogar nach @ selector-Verwendung mit privaten Methodennamen gesucht wird. App Loader leistet nicht immer gute Arbeit. Je mehr Quelldateien Sie haben, desto wahrscheinlicher ist es, dass Sie gewarnt werden, dass die von ihm generierte API-Analysedatei "zu groß" ist.
Glücklicherweise können Sie Ihre Bewerbung trotz der Warnung weiterhin einreichen. Apple überprüft dies intern. Wenn etwas aufgrund überlappender Namen zurückgeworfen wird, müssen Sie den Überprüfungsprozess erneut durchlaufen.
Erika Sadun hat versucht, eine App namens API Kit zu erstellen, die das Scannen für Sie übernimmt, aber sie scheint ihre Arbeit aufgegeben und alle Spuren der Anwendung von ihrer Website entfernt zu haben.
Chimp Studios hat App Scanner entwickelt , um dasselbe zu tun, aber es wurde seit 2011 nicht mehr aktualisiert. Leider gibt es für große Projekte - und dies schließt Projekte mit vielen zusätzlichen Pods von CocoaPods ein - kein aktuelles (2014) Gut eine andere Möglichkeit, dieses Problem zu lösen, als Dinge proaktiv so zu benennen, dass sie nicht mit privaten API-Methoden- und Instanznamen in Konflikt stehen.
Sie können sich proaktiv über Apples Kakao-Namenskonventionen informieren und versuchen, diese zu antizipieren. Das wird zukünftige Kopfschmerzen reduzieren. Bis Apple jedoch so etwas wie Namespaces einführt, kann dieses Problem von Zeit zu Zeit auftreten.
Der Fehler "Ungültige Binärdatei" kann verschiedene Ursachen haben, steht jedoch in keinem Zusammenhang mit dem von App Loader erstellten API-Analysedokument.
Sie sollten wissen, dass es auch beim Scannen noch Möglichkeiten gibt, das Verbot der Verwendung privater / undokumentierter APIs zu umgehen. :) :)