Project: titanium
Issue TIMOB-18359: iOS: Crashes when accessing certain information of a contact via the contacts picker
h5.Description When attempting to access certain information of a contact the app crashes and the below is output in the console, the file attached as crash.txt shows the crash log given. It is the same for all crashes. The information that crashes the application is as follows * Anything related to birthday, including Islam, Hebrew and Chinese * Any social profile including ** Twitter ** Facebook ** Flickr ** LinkedIn ** Myspace ** Sina Weibo * Ringtone * Game Center *Notes* The *native behavior* when accessing these through the *Apple contacts app* is that they all open external applications such as * any social media opens the web browser * birthdays open the calendar * ringtone opens a menu to change the ringtone When selecting Anniversary the app does not crash and simply returns the date, it is only for information pertaining to birthdays that the app crashes on. This was fixed in TIMOB-18359 When the app is asked to return any information stored in the 'instant message' section it returns it in the format as below {code} { service = username = ; } {code} for example {code} { service = AIM; username = Bob; } {code} *STUDIO CONSOLE LOG* {code} [ERROR] : The application has crashed with an uncaught exception 'NSRangeException'. [ERROR] : Reason: [ERROR] : *** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array [ERROR] : Stack trace: [ERROR] : [ERROR] : 0 CoreFoundation 0x0000000184842084 + 132 [ERROR] : 1 libobjc.A.dylib 0x0000000194e200e4 objc_exception_throw + 60 [ERROR] : 2 CoreFoundation 0x0000000184727ec4 CFRunLoopRemoveTimer + 0 [ERROR] : 3 KitchenSink 0x00000001001e1010 KitchenSink + 1314832 [ERROR] : 4 KitchenSink 0x00000001001e141c KitchenSink + 1315868 [ERROR] : 5 AddressBookUI 0x0000000183a4f3a0 + 276 [ERROR] : 6 AddressBookUI 0x0000000183aff2d4 + 412 [ERROR] : 7 AddressBookUI 0x0000000183aff7cc + 72 [ERROR] : 8 libdispatch.dylib 0x000000019546549c + 24 [ERROR] : 9 libdispatch.dylib 0x000000019546545c + 16 [ERROR] : 10 libdispatch.dylib 0x0000000195469a70 _dispatch_main_queue_callback_4CF + 932 [ERROR] : 11 CoreFoundation 0x00000001847f98dc + 12 [ERROR] : 12 CoreFoundation 0x00000001847f7984 + 1492 [ERROR] : 13 CoreFoundation 0x0000000184725664 CFRunLoopRunSpecific + 396 [ERROR] : 14 GraphicsServices 0x000000018d8675a4 GSEventRunModal + 168 [ERROR] : 15 UIKit 0x000000018902a4f8 UIApplicationMain + 1488 [ERROR] : 16 KitchenSink 0x00000001000a6e60 KitchenSink + 28256 [ERROR] : 17 libdyld.dylib 0x000000019548ea08 + 4 [ERROR] : *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array' [ERROR] : *** First throw call stack: [ERROR] : (0x184842084 0x194e200e4 0x184727ec4 0x1001e1010 0x1001e141c 0x183a4f3a0 0x183aff2d4 0x183aff7cc 0x19546549c 0x19546545c 0x195469a70 0x1847f98dc 0x1847f7984 0x184725664 0x18d8675a4 0x18902a4f8 0x1000a6e60 0x19548ea08) {code} h5.Steps To Reproduce 1. Install KitchenSink to a device 2. Navigate to Phone->Contacts->Contacts Picker 3. Ensure that 'Stop on property' is enabled 4.. Find a contact with any of the above h5.Actual Result When selecting these the app will crash h5.Expected Result The app should not crash, the external applications should open (*in parity with native behaviour*) *or* the data should be displayed as normal (*in parity with Titanium existing behavior*)
Story points: 8