2016-09-16 4 views
3

Gibt es eine Liste von Methoden, die nicht erlaubt sind, wenn sie in der Anwendung kompiliert werden? Oder eine Syntax, die nicht erlaubt ist?iOS10: App aufgrund der Methode "removeEvents" zurückgewiesen

Mit dieser Nachricht von Connect kürzlich unsere App aufgrund des removeEvents Methodennamen abgelehnt wurde:

Ihre App verwenden oder Verweis der folgenden nicht-öffentliche APIs:

removeEvents:

Die Verwendung von nicht öffentlichen APIs ist im App Store nicht zulässig, da dies zu einer schlechten Benutzererfahrung führen kann, sollten sich diese APIs ändern.

Ende. Keine weiteren Details bezüglich des Befundes.

Die Methode wird in der App für ein Core-Datenobjekt verwendet (abgeleitet von NSManagedObject). Das Objekt (und die Methode) wurde von mogenerator app für ziemlich lange Zeit generiert. Ich habe keinen Verweis in der aktualisierten Überprüfung guidelines für iOS10 gefunden, die relevant ist.

Das Problem ist, dass in der Ablehnungserklärung von Apple gibt es keine private API, oder eine konventionelle Objektbeschreibung oder ein Prinzip, dem ich folgen könnte, um dies beim nächsten Mal zu vermeiden, wenn die App genehmigt wird. Es macht dann von der Überprüfung einen unvorhersehbaren Prozess.

Ich konnte keine Spur von dieser Methode sowohl mit nm oder Otool finden. Keiner von ihnen hat einen Hinweis darauf gefunden.

EDIT: In der iTunes Connect ist eine Option, eine Beschwerde an die App Review Board einzureichen. Das habe ich vorher nicht bemerkt. Die Frage ist, wann sie die Überprüfung überprüfen werden.

+0

Sieht wie ein false positives aus, weil Sie einen Methodenname für Ihre eigenen Klassen verwenden, die in einer Klasse von Apple privat sind. Versuchen Sie, auf Apple zu antworten und bitten Sie sie, ihre Entscheidung zu überdenken. (Ich denke, es hängt mit der Natur von Objective-C zusammen, wo die Methodennamen sichtbar sind, aber es ist schwer zu sagen, an welche Klasse es gesendet wird.) – Codo

+0

Ich vermute, sie haben die Binärdatei und ihre Black-Listed-Methode in irgendeinem ihrer Frameworks gescannt und sie haben es einfach abgelehnt.Sie können sie bitten, sie erneut mit dem iTunesConnect-Lösungscenter zu überprüfen. –

+0

Haben Sie Abhängigkeiten von Drittanbietern, die möglicherweise eine so genannte Methode verwenden? – sandy

Antwort

0

Ein Mitglied des Bewertungsgremiums hat uns kontaktiert und bestätigt, dass die einzige Möglichkeit, Informationen über eine Kollision mit einer privaten API zu erhalten, darin besteht, die App den Überprüfungsprozess durchlaufen zu lassen. Apple bot an, in zwei Tagen eine neue Rezension zu schreiben, und das taten sie auch.

Ich habe die Methode umbenannt und die App wurde nicht zurückgewiesen.

+0

Und was ist das Ergebnis der neuen Überprüfung? – Codo

+0

@ Codo Ich habe den Beitrag aktualisiert. –

0

Keine weiteren Details? In diesem Fall hast du nicht sorgfältig gelesen. Es wird einen Link zu der Ablehnung geben, der genau erklärt, wie man dies sucht, wenn es zum Beispiel in einer Drittanbieter-Bibliothek passiert. Kenne ich schon.

So können Sie eine Beschwerde einreichen und sie werden Sie auslachen, weil Sie nicht die App Ablehnung gelesen haben.

Um Ihnen die Mühe zu ersparen, durchsuchen Sie Ihren eigenen Quellcode und verwenden Sie dann die Strings und otool-Tools, um die Bibliothek zu finden, die das Problem verursacht hat, aktualisieren Sie die Bibliothek und prüfen Sie, ob das Problem verschwunden ist.

Und wenn Sie removeEvents nach Ihren Kommentaren verwenden, dann reparieren Sie Ihren Code.

+0

Keine weiteren Details bezüglich des Befundes, die ich meinte. Auch habe ich in der Post geschrieben, dass ich die Tools verwendet habe und es wurde keine solche Methode aufgelistet. Die removeEvents ist nicht Teil der privaten API, wie der Post erklärt. –

Verwandte Themen