Странное поведение с покупками в приложении - PullRequest
1 голос
/ 18 января 2012

Недавно у меня возникла очень странная проблема. У меня есть код, который обрабатывает покупки inApp в моем приложении. Я ничего не менял в коде за месяц, и на этой неделе у меня произошел сбой при вызове следующего метода:

//
// call this before making a purchase
//
- (BOOL)canMakePurchases
{return [SKPaymentQueue canMakePayments];
}

Я попытался выполнить команду bt в gdb и получил следующее:

#0  0x33adffdc in CFRetain ()
#1  0x31f5bdb6 in ___init_block_invoke_2 ()
#2  0x36e797ea in _dispatch_barrier_sync_f_invoke ()
#3  0x36e7965a in dispatch_barrier_sync_f$VARIANT$up ()
#4  0x36e7928e in dispatch_sync_f$VARIANT$up ()
#5  0x36e79910 in dispatch_sync$VARIANT$up ()
#6  0x36e7b576 in dispatch_once_f$VARIANT$up ()
#7  0x31f5c706 in CPLoggingAddCustomLogFile ()
#8  0x320a2658 in __MCLoggingInitialize_block_invoke_1 ()
#9  0x36e7b576 in dispatch_once_f$VARIANT$up ()
#10 0x320a26a4 in MCLoggingInitialize ()
#11 0x320a3060 in -[MCProfileConnection _init] ()
#12 0x320a3764 in +[MCProfileConnection sharedConnection] ()
#13 0x31750764 in +[SKPaymentQueue canMakePayments] ()
#14 0x00037702 in -[InAppPay canMakePurchases] (self=0x44b1a0, _cmd=0x149c1e) at    /Users/lowfreq/Desktop/Projects/magazinereader/Archive/InAppPay.m:32
#15 0x00039444 in -[PreViewArchives Tap:] (self=0x46aba0, _cmd=0x149d03, sender=0x46f030) at /Users/lowfreq/Desktop/Projects/magazinereader/Archive/PreViewArchives.m:161
#16 0x33af1434 in -[NSObject performSelector:withObject:withObject:] ()
#17 0x34c1f9ea in -[UIApplication sendAction:to:from:forEvent:] ()
#18 0x34c1f9a6 in -[UIApplication sendAction:toTarget:fromSender:forEvent:] ()
#19 0x34c1f984 in -[UIControl sendAction:to:forEvent:] ()
#20 0x34c1f6f4 in -[UIControl(Internal) _sendActionsForEvents:withEvent:] ()
#21 0x34c2002c in -[UIControl touchesEnded:withEvent:] ()
#22 0x34c1e50e in -[UIWindow _sendTouchesForEvent:] ()
#23 0x34c1df00 in -[UIWindow sendEvent:] ()
#24 0x34c044ec in -[UIApplication sendEvent:] ()
#25 0x34c03d2c in _UIApplicationHandleEvent ()
#26 0x3572edf2 in PurpleEventCallback ()
#27 0x33b6b552 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#28 0x33b6b4f4 in __CFRunLoopDoSource1 ()
#29 0x33b6a342 in __CFRunLoopRun ()
#30 0x33aed4dc in CFRunLoopRunSpecific ()
#31 0x33aed3a4 in CFRunLoopRunInMode ()
#32 0x3572dfcc in GSEventRunModal ()
#33 0x34c32742 in UIApplicationMain ()
#34 0x00002364 in main (argc=1, argv=0x2fdffb38) at /Users/lowfreq/Desktop/Projects/magazinereader/main.m:14
Current language:  auto; currently objective-c

Что происходит? Я не могу понять причину, почему код, который работал месяц без проблем, теперь дает мне сбой? Я пытался восстановить профили инициализации с нуля, перезагрузить iPad, но все равно не повезло Заранее спасибо за любые подсказки!

1 Ответ

0 голосов
/ 18 января 2012

, так как вы пытаетесь набрать SKPaymentQueue canMakePayments, попробуйте как на устройстве, так и на симуляторе ... если он выйдет из строя на обоих ... тогда это должно быть ошибкой кода .. затем опубликуйте код.

...