{ "id": "153475", "key": "TIMOB-20073", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "16997", "name": "Release 5.2.0", "archived": false, "released": true, "releaseDate": "2016-02-23" } ], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2015-11-30T01:34:31.000+0000", "created": "2015-11-29T20:52:11.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "qe-5.2.0" ], "versions": [ { "id": "17532", "name": "Release 5.1.1", "archived": false, "released": true, "releaseDate": "2015-11-24" } ], "issuelinks": [ { "id": "49982", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "152518", "key": "TIDOC-2348", "fields": { "summary": "iOS: Improve documentation of ShortcutParams, fix property checks", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "50100", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "153780", "key": "TIMOB-20132", "fields": { "summary": "Crash when creating iOS Application shortcuts without userInfo", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-01-22T00:41:56.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "The following sample demonstrates that when you remove the {{userInfo}} property the app will crash when you open it using the dynamic shortcut.\r\n\r\n{code:javascript}\r\nvar appShortcuts = Ti.UI.iOS.createApplicationShortcuts();\r\n\r\nTi.App.iOS.addEventListener('shortcutitemclick', function() {\r\n\talert('hi');\r\n});\r\n\r\nappShortcuts.addDynamicShortcut({\r\n\titemtype: \"contact_us\",\r\n\ttitle: \"Contact Us\",\r\n\tsubtitle: \"Tap to reach us\",\r\n\ticon: Ti.UI.iOS.SHORTCUT_ICON_TYPE_ADD,\r\n\tuserInfo: { infoKey: \"contact_us\" } // remove this line and I'll crash when used\r\n});\r\n\r\nTi.UI.createWindow({\r\n\tbackgroundColor: 'white'\r\n}).open(); \r\n{code}\r\n\r\n*Console*\r\n\r\n{code}\r\n[ERROR] The application has crashed with an uncaught exception 'NSInvalidArgumentException'.\r\n[ERROR] Reason:\r\n[ERROR] *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[3]\r\n[ERROR] Stack trace:\r\n[ERROR]\r\n[ERROR] 0 CoreFoundation 0x0000000183cccf48 + 124\r\n[ERROR] 1 libobjc.A.dylib 0x0000000199177f80 objc_exception_throw + 56\r\n[ERROR] 2 CoreFoundation 0x0000000183bbb7c8 + 324\r\n[ERROR] 3 CoreFoundation 0x0000000183bbb660 + 64\r\n[ERROR] 4 short 0x0000000100161784 short + 1103748\r\n[ERROR] 5 CoreFoundation 0x0000000183c7260c + 20\r\n[ERROR] 6 CoreFoundation 0x0000000183c71e2c + 396\r\n[ERROR] 7 CoreFoundation 0x0000000183c71bac + 60\r\n[ERROR] 8 CoreFoundation 0x0000000183cd7424 + 1532\r\n[ERROR] 9 CoreFoundation 0x0000000183bb2714 _CFXNotificationPost + 368\r\n[ERROR] 10 Foundation 0x0000000184b22dcc + 68\r\n[ERROR] 11 short 0x0000000100137b94 short + 932756\r\n[ERROR] 12 short 0x0000000100137dbc short + 933308\r\n[ERROR] 13 UIKit 0x000000018951bbc0 + 208\r\n[ERROR] 14 UIKit 0x0000000189516e5c + 2752\r\n[ERROR] 15 UIKit 0x000000018951d0c0 + 2436\r\n[ERROR] 16 UIKit 0x000000018951c4c4 + 448\r\n[ERROR] 17 UIKit 0x0000000189506f14 + 152\r\n[ERROR] 18 UIKit 0x0000000189506b9c + 708\r\n[ERROR] 19 FrontBoardServices 0x000000018de337c4 + 184\r\n[ERROR] 20 FrontBoardServices 0x000000018de33b44 + 56\r\n[ERROR] 21 CoreFoundation 0x0000000183c84544 + 24\r\n[ERROR] 22 CoreFoundation 0x0000000183c83fd8 + 540\r\n[ERROR] 23 CoreFoundation 0x0000000183c81cd8 + 724\r\n[ERROR] 24 CoreFoundation 0x0000000183bb0ca0 CFRunLoopRunSpecific + 384\r\n[ERROR] 25 GraphicsServices 0x000000018f134088 GSEventRunModal + 180\r\n[ERROR] 26 UIKit 0x00000001892c8ffc UIApplicationMain + 204\r\n[ERROR] 27 short 0x000000010005afa8 short + 28584\r\n[ERROR] 28 libdyld.dylib 0x00000001999ba8b8 + 4\r\n[ERROR] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[3]'\r\n[ERROR] *** First throw call stack:\r\n[ERROR] (0x183cccf48 0x199177f80 0x183bbb7c8 0x183bbb660 0x100161784 0x183c7260c 0x183c71e2c 0x183c71bac 0x183cd7424 0x183bb2714 0x184b22dcc 0x100137b94 0x100137dbc 0x18951bbc0 0x189516e5c 0x18951d0c0 0x18951c4c4 0x189506f14 0x189506b9c 0x18de337c4 0x18de33b44 0x183c84544 0x183c83fd8 0x183c81cd8 0x183bb0ca0 0x18f134088 0x1892c8ffc 0x10005afa8 0x1999ba8b8)\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS: Dynamic Shortcut crashes app when it has no userInfo", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "SDK 5.1.1.GA", "comment": { "comments": [ { "id": "371614", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Already fixed for 5.2.0 as part of TIDOC-2348.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2015-11-30T01:34:31.000+0000", "updated": "2015-11-30T01:34:31.000+0000" }, { "id": "371638", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Sneaky!", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-11-30T07:51:01.000+0000", "updated": "2015-11-30T07:51:01.000+0000" }, { "id": "374875", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed, excluding {{userInfo}} property no longer causes app crash with SDK {{5.2.0.v20160114021251}}.\r\n\r\nTested on:\r\niPhone 6s Plus Device (9.2)\r\nMac OSX El Capitan 10.11 (15A284)\r\nTi SDK: 5.2.0.v20160114021251\r\nAppc NPM: 4.2.2 \r\nApp CLI: 5.2.0-220 \r\nXcode 7.2\r\nNode v4.2.3\r\n\r\n*Closing ticket.*", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-01-19T22:46:10.000+0000", "updated": "2016-01-19T22:46:10.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }