Ich werde meine erste Mac-App in den Apple Store hochladen
Und alle Validierungsfehler von Symbol, Kategorie ... behoben
Aber danach habe ich die Validierung mit Warnung bestanden:
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.
Und mein Upload wird mit dem Grund abgelehnt: "Ungültige Binärdatei"
Hat jemand Erfahrung mit diesem Fall?
UPDATE: Diese Warnung ist nicht der Grund für die Ablehnung, sondern möglicherweise das Problem bei der App-Archivierung. Ich habe meine App erfolgreich zum Speichern freigegeben.
Das können wir also ignorieren.
Antworten:
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. :) :)
quelle
Nachdem ich dieses Problem bei meinem ersten Swift-Projekt zum ersten Mal angesprochen habe, scheint die häufigste Antwort auf diese Frage jetzt zu sein:
Wenn Sie Swift 2.x und XCode 7 verwenden, wird dieser Fehler angezeigt. Ignoriere es einfach.
[UPDATE: Der Rollout von XCode 7.3 und iOS 9.3 scheint dieses Problem behoben zu haben!]
quelle
Hier ist eine einfache Möglichkeit, sie zu umgehen ... Speichern Sie den Selektornamen wie "dlroWolleH" in umgekehrter Reihenfolge und kehren Sie dann die Zeichenfolge um, bevor Sie die Methode aufrufen.
Wenn Apple dies versteht, können Sie sie verschlüsseln.
quelle