iOS / iPhone: In-App-Kauf-Sandbox beschädigt, während App im Status "Abgelehnt" ist?

8

(Siehe MAIN THRUST unten, um zum Hauptteil meiner Frage zu springen.)

Meine iOS-App wurde im Apple-Überprüfungsprozess aus einem leichten Grund abgelehnt, der leicht zu beheben war.

Allerdings wollte ich dem neuen Build einen einmaligen Test geben, einschließlich eines erneuten Tests unseres In-App-Kaufs (es gibt nur einen einzigen käuflichen Artikel in der App).

Und jetzt stürzt die App beim ersten Abruf der Produktinformationen ab. Es ist nie zuvor auf diese Weise abgestürzt, und der Code hat sich seit dem erfolgreichen Testen des In-App-Kaufs im Sandbox-Modus nicht geändert. (In der Tat hat sich zwischen der ursprünglich eingereichten Version und dieser Version mit dem kleineren Fix überhaupt kein Code geändert; der Fix war nur eine Änderung der Einstellung von info.plist.)

Um die Sache zu komplizieren, benutze ich das Airplay / Marmalade SDK zum Erstellen der App, und sie umhüllen die Objective-C-Aufrufe und Callback-Mechanismen mit ihren eigenen APIs und Callback-Mechanismen. Allerdings ist dieser Wrapper sehr dünn, also hoffe / glaube ich, dass es sich hier wirklich um eine allgemeine iOS / In-App-Kauffrage handelt, nicht um etwas, was für Marmalade spezifisch ist.

Also, wie ich schon sagte, es stürzt irgendwo zwischen der Zeit ab, an der ich den Marmalade-Aufruf mache, um Produktinformationen abzurufen, und dem Zeitpunkt, zu dem mein (C ++) Callback aufgerufen werden soll. (Das heißt, irgendwo zwischen der Zeit, in der Marmelade [productsRequest start] auf einem SKProductsRequest-Objekt aufruft, und der Zeit productsRequest: didReceiveResponse () wird aufgerufen und Marmelade ruft mich nacheinander zurück.)

MAIN THRUST meiner Frage:

Meine App befindet sich bei iTunesConnect im Status "Abgelehnt". Wenn ich mir das In-App-Kaufobjekt in iTunesConnect ansehe, wird es außerdem als "Abgelehnt" markiert. Allerdings habe ich bereits während des Überprüfungsverfahrens meinen In-App-Kauf mit Apple besprochen, und ich glaube, dass der In-App-Kauf selbst für sie in Ordnung ist, und das einzige noch verbleibende Problem war das kleinere Problem, das ich bereits hatte behoben (dies ist, was ihre Ablehnungsdetails sagten: nur dieser eine Gegenstand).

Also: Ich muss verstehen, ob es, wenn meine App (und der damit verbundene In-App-Kauf) in diesem "abgelehnten" Zustand sind, bis ein neuer binärer Upload von mir kommt, es schwierig ist (oder vielleicht sogar unmöglich), das zu testen In-App-Kauf, und meine beste Vorgehensweise ist nur die App mit dem kleinen Update erneut zu übermitteln und Glauben, dass (da es der gleiche Code ist, der während des normalen Tests funktionierte, wenn die Dinge nicht im abgelehnten Zustand waren) der Zustand der In-App-Kauf wird sich selbst ausarbeiten, sobald Apple alles zurücksetzt, um die neue Binärdatei zu testen.

Oder sollte ich an dieser Stelle etwas anderes tun, um den In-App-Kauf erneut zu testen?

Ich dachte daran, Apple in der iTunesConnect-Korrespondenz zu fragen, aber ich wollte keine Komplikationen mit ihnen einführen, da der Review-Prozess bisher erstaunlich schnell und effizient war.

    
M Katz 06.08.2011, 07:31
quelle

1 Antwort

13

Ich habe eine Antwort vom technischen Support von Apple erhalten:

  

Ich beantworte Ihre Frage bezüglich In-App-Kauf und   Das Problem, bei dem der Produkt-Preflight-Prozess jetzt fehlschlägt. Die Antwort auf   Dieses Problem ist in Tech Note 2259 - "Hinzufügen in App-Kauf" dokumentiert   zu deiner iOS-Anwendung ".    Ссылка

     

Im FAQ-Bereich gibt es folgende Gründe dafür   Problem

     

Warum werden meine Produktbezeichner in der. zurückgegeben?   InvalidProductIdentifiers-Array? Ihre Produktkennzeichnungen können sein   Wird im Array invalidProductIdentifiers für eines oder mehrere der zurückgegeben   folgende Gründe:

     

Sie haben nicht alle finanziellen Anforderungen erfüllt (siehe   Abschnitt "Verträge, Steuern und Bankinformationen" dieses Dokuments.   Sie haben keine explizite App-ID verwendet. Sie haben das Provisioning nicht verwendet   Profil, das mit Ihrer expliziten App-ID verknüpft ist. Du hast das nicht benutzt   Korrekte Produktidentifikation in Ihrem Code Siehe Technische Frage und Antwort, QA1329,   'In App Purchase Product Identifiers' für weitere Informationen über   Produktkennzeichnungen. Sie haben Ihre In-App-Kauf-Produkte nicht gelöscht   zum Verkauf in iTunes Connect. Sie haben vielleicht Ihre Produkte geändert, aber   Diese Änderungen sind noch nicht für alle App Store-Server verfügbar. Ob   Sie oder App Review haben Ihre neueste Binärdatei in iTunes Connect abgelehnt.

     

Beachten Sie den letzten Grund - was in Ihrem Fall gilt. Die Lösung ist -   Wenn Sie die Anwendung testen möchten, müssen Sie "vorübergehend"   Lade eine Kopie deiner Anwendung auf iTunesConnect hoch, so dass die   Anwendungsstatus wird nicht mehr "abgelehnt". Stattdessen wird es in der   Status "ausstehende Überprüfung" Gehen Sie voran und führen Sie aus, was auch immer Sie testen   brauchen, dann unter der Annahme, dass die Anwendung noch Arbeit braucht, selbst ablehnen   Anwendung, so dass es App-Überprüfung nicht erreicht. Irgendwann, du   wird ein fertiges Produkt haben und Sie werden schließlich die   Anwendung formal.

Diese Antwort war in meinem Fall nicht ganz korrekt. Ich habe eine separate Antwort vom App-Review-Team erhalten. Durch einfaches Hochladen einer neuen Binärdatei wird der Status "Abgelehnt" des In-App-Kaufelements scheinbar nicht zurückgesetzt. Anscheinend müssen sie das manuell zurücksetzen (zu welcher Zeit glaube ich, dass sie beide und ich es testen können). Momentan habe ich meine neue Binärdatei hochgeladen, aber sie haben das In-App-Kaufelement noch nicht zurückgesetzt.

Ich werde diesem Beitrag mehr hinzufügen, wenn der Prozess abgeschlossen ist ...

    
M Katz 09.08.2011, 01:05
quelle