the app crashes randomly when we tap on in app purchase

Hi

My app is crashing when clicking on in-app purchases.

My app consists of two targets where I have created two bundle ID and enabled in-app purchases for both.


Any clues?

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 18446744073709551615 beyond bounds for empty array' *** First throw call stack: ( 0 CoreFoundation 0x000000010b86ef65 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010b241deb objc_exception_throw + 48 2 CoreFoundation 0x000000010b752a94 -[__NSArrayM objectAtIndex:] + 212 3 Chubby Vikings Free 0x0000000106654366 -[MKStoreManager addToQueue:] + 294 4 Chubby Vikings Free 0x0000000106653fde __52-[MKStoreManager buyFeature:onComplete:onCancelled:]_block_invoke + 526 5 Chubby Vikings Free 0x00000001065ac2ae +[MKSKProduct verifyProductForReviewAccess:onComplete:onError:] + 174 6 Chubby Vikings Free 0x0000000106653d46 -[MKStoreManager buyFeature:onComplete:onCancelled:] + 502 7 Chubby Vikings Free 0x00000001065d5a79 -[DBPurchaseManager makePurchase:onComplete:onCancel:] + 313 8 Chubby Vikings Free 0x00000001065e1fd1 -[vShopCoinsPopup clickCoinsPack1:] + 225 9 CoreFoundation 0x000000010b75d85c __invoking___ + 140 10 CoreFoundation 0x000000010b75d6ae -[NSInvocation invoke] + 286 11 Chubby Vikings Free 0x00000001066a0773 -[CCMenuItem activate] + 67 12 Chubby Vikings Free 0x000000010669d80e -[CCMenu ccTouchEnded:withEvent:] + 286 13 Chubby Vikings Free 0x00000001066edfae -[CCTouchDispatcher touches:withEvent:withTouchType:] + 1598 14 Chubby Vikings Free 0x00000001066eea3e -[CCTouchDispatcher touchesEnded:withEvent:] + 78 15 Chubby Vikings Free 0x0000000106670a64 -[CCTouchView touchesEnded:withEvent:] + 84 16 UIKit 0x0000000108b67aa3 -[UIWindow _sendTouchesForEvent:] + 835 17 UIKit 0x0000000108b68691 -[UIWindow sendEvent:] + 865 18 UIKit 0x0000000108b1a752 -[UIApplication sendEvent:] + 263 19 UIKit 0x0000000108af5fcc _UIApplicationHandleEventQueue + 6693 20 CoreFoundation 0x000000010b79b0a1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 21 CoreFoundation 0x000000010b790fcc __CFRunLoopDoSources0 + 556 22 CoreFoundation 0x000000010b790483 __CFRunLoopRun + 867 23 CoreFoundation 0x000000010b78fe98 CFRunLoopRunSpecific + 488 24 GraphicsServices 0x000000010dabbad2 GSEventRunModal + 161 25 UIKit 0x0000000108afb676 UIApplicationMain + 171 26 Chubby Vikings Free 0x00000001065977c4 main + 100 27 libdyld.dylib 0x000000010bd5292d start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

The log has the following content:


"'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 18446744073709551615 beyond bounds for empty array'...... -[MKStoreManager addToQueue:]...[MKStoreManager buyFeature:onComplete:onCancelled:].....[MKSKProduct verifyProductForReviewAccess:onComplete:onError:]....[MKStoreManager buyFeature:onComplete:onCancelled:] .......-[DBPurchaseManager makePurchase:onComplete:onCancel:] ..... -[vShopCoinsPopup clickCoinsPack1:]"


That means somewhere in the method "addToQueue" which was called by "buyFeature" etc. you refrenced a mutable array's objectAtIndex:184467440737.. but the array had no objects in it. This error is usually something like "objectAtIndex:-1" where the index is interpreted as an unsigned integer. You need to figure out why this happened.


One possible cause of this problem is that your productsResponse returned an empty array of response.products and you went ahead with a purchase anyway.

the app crashes randomly when we tap on in app purchase
 
 
Q