In-App-Kauf (IAP) Prozess zu sein scheint Absturz der app beim Start für einen von meinen Usern

Arbeite ich mit einem Benutzer meiner app Auftritt, ist Abstürze beim Start der app. Wir glauben, es hat etwas zu tun mit der in-app-Kauf, aber ich habe nicht in der Lage, die Ursache zu ermitteln, so dass ich dachte, ich würde es bringen, hier (für alle anderen Benutzer mit dem ich gesprochen habe, die Dinge scheinen zu funktionieren nur fine).

Zurück an den Benutzer mit dem problem, Sie sagt, seit Sie den Kauf der in-App-purchase, die app stürzt nach dem Start. Und nach dem Absturz das Gerät Häufig wird der Benutzer aufgefordert, geben Sie Ihre Benutzer-ID und das Kennwort (als wenn es versucht, um den Kauf wieder). Wir haben versucht, Neuinstallation der app, ein Update auf iOS 7 aktualisieren der app selbst...kein Glück.

War Sie so nett und senden mir ein paar crash-logs, die ich unten kopiert. Jeder input ist herzlich willkommen!

Folgte ich Ray Wenderlich ist IAP in iOS 6 tutorial, ob das hilft...wieder keine andere gemeldete Probleme, außer diesem einen, das macht mich Frage mich, ob etwas zu rekapitulieren, die während des Kauf-Prozesses.

Incident Identifier: 1E0C36A9-C7EC-48D7-9BB8-D56F6203D62E
CrashReporter Key:   2ac3185fb0d2c64d11247cccfa4a55af32fd5462
Hardware Model:      iPhone4,1
Process:             MetricMe [9322]
Path:                /var/mobile/Applications/847DC898-FD57-40F5-98F2-6C361DC7DECC/MetricMe.app/MetricMe
Identifier:          com.anthonydubis.metricme
Version:             3.0.5 (3.0.5)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2013-10-04 13:48:13.129 -0400
OS Version:          iOS 7.0.2 (11A501)
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread:  0

Last Exception Backtrace:
0   CoreFoundation                  0x2ebf9f4e __exceptionPreprocess + 126
1   libobjc.A.dylib                 0x38fd26aa objc_exception_throw + 34
2   CoreFoundation                  0x2eb37c12 -[__NSSetM addObject:] + 558
3   MetricMe                        0x00069fc4 -[IAPHelper provideContentForRestoredProductIdentifier:] (IAPHelper.m:172)
4   MetricMe                        0x00069ce8 -[IAPHelper restoreTransaction:] (IAPHelper.m:146)
5   MetricMe                        0x00069b14 -[IAPHelper paymentQueue:updatedTransactions:] (IAPHelper.m:124)
6   StoreKit                        0x312fddc8 __NotifyObserverAboutChanges + 80
7   CoreFoundation                  0x2eb2d714 CFArrayApplyFunction + 32
8   StoreKit                        0x312fdd64 -[SKPaymentQueue _notifyObserversAboutChanges:sendUpdatedDownloads:] + 124
9   StoreKit                        0x312fe646 -[SKPaymentQueue _processUpdates:trimUnmatched:sendUpdatedDownloads:] + 1022
10  StoreKit                        0x312fed1c -[SKPaymentQueue _setTransactionsWithReply:] + 124
11  StoreKit                        0x312fd906 __38-[SKPaymentQueue _establishConnection]_block_invoke_2 + 58
12  libdispatch.dylib               0x394b5d76 _dispatch_call_block_and_release + 6
13  libdispatch.dylib               0x394b5d62 _dispatch_client_callout + 18
14  libdispatch.dylib               0x394bc7bc _dispatch_main_queue_callback_4CF$VARIANT$mp + 264
15  CoreFoundation                  0x2ebc481c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 4
16  CoreFoundation                  0x2ebc30f0 __CFRunLoopRun + 1296
17  CoreFoundation                  0x2eb2dce2 CFRunLoopRunSpecific + 518
18  CoreFoundation                  0x2eb2dac6 CFRunLoopRunInMode + 102
19  GraphicsServices                0x3384e27e GSEventRunModal + 134
20  UIKit                           0x313cfa3c UIApplicationMain + 1132
21  MetricMe                        0x00043842 main (main.m:16)
22  libdyld.dylib                   0x394daab2 tlv_initializer + 2


Thread 0 Crashed:
0   libsystem_kernel.dylib          0x395911fc __pthread_kill + 8
1   libsystem_pthread.dylib         0x395faa2e pthread_kill + 54
2   libsystem_c.dylib               0x39541ff8 abort + 72
3   libc++abi.dylib                 0x38870cd2 abort_message + 70
4   libc++abi.dylib                 0x388896e0 default_terminate_handler() + 248
5   libobjc.A.dylib                 0x38fd291e _objc_terminate() + 190
6   libc++abi.dylib                 0x388871c4 std::__terminate(void (*)()) + 76
7   libc++abi.dylib                 0x38886a18 __cxa_throw + 112
8   libobjc.A.dylib                 0x38fd277e objc_exception_throw + 246
9   CoreFoundation                  0x2eb37c12 -[__NSSetM addObject:] + 558
10  MetricMe                        0x00069fc4 -[IAPHelper provideContentForRestoredProductIdentifier:] (IAPHelper.m:172)
11  MetricMe                        0x00069ce8 -[IAPHelper restoreTransaction:] (IAPHelper.m:146)
12  MetricMe                        0x00069b14 -[IAPHelper paymentQueue:updatedTransactions:] (IAPHelper.m:124)
13  StoreKit                        0x312fddc8 __NotifyObserverAboutChanges + 80
14  CoreFoundation                  0x2eb2d716 CFArrayApplyFunction + 34
15  StoreKit                        0x312fdd64 -[SKPaymentQueue _notifyObserversAboutChanges:sendUpdatedDownloads:] + 124
16  StoreKit                        0x312fe646 -[SKPaymentQueue _processUpdates:trimUnmatched:sendUpdatedDownloads:] + 1022
17  StoreKit                        0x312fed1c -[SKPaymentQueue _setTransactionsWithReply:] + 124
18  StoreKit                        0x312fd906 __38-[SKPaymentQueue _establishConnection]_block_invoke_2 + 58
19  libdispatch.dylib               0x394b5d78 _dispatch_call_block_and_release + 8
20  libdispatch.dylib               0x394b5d64 _dispatch_client_callout + 20
21  libdispatch.dylib               0x394bc7bc _dispatch_main_queue_callback_4CF$VARIANT$mp + 264
22  CoreFoundation                  0x2ebc481c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 4
23  CoreFoundation                  0x2ebc30f0 __CFRunLoopRun + 1296
24  CoreFoundation                  0x2eb2dce2 CFRunLoopRunSpecific + 518
25  CoreFoundation                  0x2eb2dac6 CFRunLoopRunInMode + 102
26  GraphicsServices                0x3384e27e GSEventRunModal + 134
27  UIKit                           0x313cfa3c UIApplicationMain + 1132
28  MetricMe                        0x00043842 main (main.m:16)
29  libdyld.dylib                   0x394daab4 start + 0

Bearbeitet, um hinzufügen Linie 172 von IAPHelper:

Es heißt während ein Produkt wiederherstellen und geht in die productIdentifier des IAP. Was interessant ist, dass dies geschieht direkt beim Start der app, das macht mich Frage mich, ob dies ein Szenario, wo die internet-Verbindung ging verloren, während sich die IAP-Kauf-Prozess, und jetzt versucht er es wiederherstellen auf Start.

IAPHelper enthält eine Menge von Methoden für Kauf und Wiederherstellung eines Produkts (auch der Beobachter für die Kauf-Benachrichtigungen). Die sharedInstance aufgerufen, in applicationDidFinishLaunching, so dass es bereit ist zu empfangen Quittungen von Apple. Linie 172 ist, wo die Produkt-id Hinzugefügt wird, _purchasedProductIdentifiers, die eine NSMutableSet Instanz-variable. Würde der Fehler bedeuten, dass etwas falsch ist mit _purchasedProductIdentifiers (NSMutable set sollte initialisiert werden, bevor es hier geht) oder die productIdentifier übergeben? In der Praxis sollten wir niemals an den Punkt kommen, es sei denn, die sharedInstance von IAPHelper erstellt wird, die ist, wo _purchasedProductIdentifiers erstellt.

- (void)provideContentForRestoredProductIdentifier:(NSString *)productIdentifier
{
    [_purchasedProductIdentifiers addObject:productIdentifier]; 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:productIdentifier];
    [[NSUserDefaults standardUserDefaults] synchronize];
    [[NSNotificationCenter defaultCenter] postNotificationName:IAPHelperProductRestoredNotification object:productIdentifier userInfo:nil];

}
  • Was bedeutet die Linie 172 von IAPHelper.m Aussehen? Je mehr Kontext, desto besser.
  • Nur fügte einige weitere details.
  • Was hat Ihr Problem am Ende? Ich habe das gleiche problem, und es sieht aus wie es ist an der gleichen Stelle. Ich wäre wirklich dankbar zu hören, dass Ihr feedback!
  • bitte sehen Sie sich die ausgewählte Antwort unten. Hoffe, das hilft, aber fühlen Sie sich frei zu erreichen, wenn es nicht!
  • möglich, Duplikat der Folgende in-app Kauf, die app stürzt auf Start. productIdentifier=null?
InformationsquelleAutor tonyd | 2013-10-05
Schreibe einen Kommentar