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.
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
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. –
Haben Sie Abhängigkeiten von Drittanbietern, die möglicherweise eine so genannte Methode verwenden? – sandy