paypal / PayPal-iOS-SDK

Accept credit cards and PayPal in your iOS app
Other
973 stars 368 forks source link

Paypal crash with error "-[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray'" #562

Closed Dnyanda closed 6 years ago

Dnyanda commented 6 years ago

I am using PayPal iOS SDK 2.17 in Xamarin Form, getting error

Foundation.MonoTouchException has been thrown
Objective-C exception thrown. Name: NSRangeException Reason: *** -[NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray Native stack trace: 0 CoreFoundation 0x00000001868e5d1c + 148 1 libobjc.A.dylib 0x0000000185b34528 objc_exception_throw + 56 2 CoreFoundation 0x00000001868410c4 + 0 3 libXamarin.PayPal.iOS.dll.dylib 0x00000001044e2c58 +[PPAPIResponseDictionary filterResponse:type:] + 1192 4 libXamarin.PayPal.iOS.dll.dylib 0x00000001044e2350 -[PPAPIResponseDictionary initWithType:response:environemnt:] + 212 5 libXamarin.PayPal.iOS.dll.dylib 0x00000001044e25b0 +[PPAPIResponseDictionary responseWithType:response:environment:] + 104 6 libXamarin.PayPal.iOS.dll.dylib 0x00000001044b3e2c 77-[PPServiceManager processCreditCardPayment:completion:withPreviousResponse:]_block_invoke.321 + 236 7 libXamarin.PayPal.iOS.dll.dylib 0x00000001044b38e0 110-[PPServiceManager handleRequestResponseWithRetryBlock:withFailBlock:withCreateRequestBlock:withSuccessBlock:]_block_invoke.296 + 312 8 libXamarin.PayPal.iOS.dll.dylib 0x00000001044a6efc -[PPServiceRequest urlConnection:didSucceedWithData:] + 300 9 libXamarin.PayPal.iOS.dll.dylib 0x00000001044edd50 28-[PPSimpleURLConnection win]_block_invoke + 456 10 libdispatch.dylib 0x0000000186269088 + 24 11 libdispatch.dylib 0x0000000186269048 + 16 12 libdispatch.dylib 0x0000000186275b74 + 1016 13 CoreFoundation 0x000000018688deb0 + 12 14 CoreFoundation 0x000000018688ba8c + 2012 15 CoreFoundation 0x00000001867abfb8 CFRunLoopRunSpecific + 436 16 GraphicsServices 0x0000000188643f84 GSEventRunModal + 100 17 UIKit 0x000000018fd802f4 UIApplicationMain + 208 18 libXamarin.iOS.dll.dylib 0x0000000100b27820 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string_intptr_intptr + 368 19 libXamarin.iOS.dll.dylib 0x0000000100ac2c6c UIKit_UIApplication_Mainstringintptr_intptr + 44 20 libXamarin.iOS.dll.dylib 0x0000000100ac2c2c UIKit_UIApplication_Main_string_string_string + 172 21 libAbbeyRentalApp.iOS.exe.dylib 0x0000000100a678d0 AbbeyRentalApp_iOS_Application_Main_string + 128 22 libmscorlib.dll.dylib 0x00000001010bcbc4 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 23 libmonosgen-2.0.dylib 0x0000000104d14540 mono_jit_runtime_invoke + 824 24 libmonosgen-2.0.dylib 0x0000000104d918e8 do_runtime_invoke + 108 25 libmonosgen-2.0.dylib 0x0000000104d94b8c do_exec_main_checked + 144 26 libmonosgen-2.0.dylib 0x0000000104cf6e04 mono_jit_exec + 268 27 libxamarin-debug.dylib 0x000000010505cd80 xamarin_main + 2220 28 AbbeyRentalApp.iOS 0x00000001009d4c0c main + 96 29 libdyld.dylib 0x00000001862ce56c + 4

bluk commented 6 years ago

Can you please verify that the linked library is 2.17.0? You can invoke the equivalent of [PayPalMobile libraryVersion] in your app. I checked the code, and I believe this was fixed in 2.16.3.

Note that this SDK is deprecated, and the suggested credit card and PayPal integration is with Braintree Payments, a PayPal service.

xiaoleih41 commented 6 years ago

Close this issue due to inactivity. Please use the suggested work around if your project is not an existing live integration.