{ "id": "167491", "key": "TIMOB-24663", "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": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-05-10T16:35:01.000+0000", "created": "2017-05-08T02:47:32.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "TabGroup", "iOS" ], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-05-10T17:49:54.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": "You can reproduce this issue very easily:\r\n\r\nFirst, build iOS app with more than 6 tabs.\r\n\r\n{code:xml}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n{code}\r\n\r\nThen, tap \"More\" tab. Error message is:\r\n\r\n\r\n{noformat}\r\n[ERROR] The application has crashed with an uncaught exception 'NSInvalidArgumentException'.\r\n[ERROR] Reason:\r\n[ERROR] -[TiUITabGroup controller]: unrecognized selector sent to instance 0x7fc4c7e0f080\r\n[ERROR] Stack trace:\r\n[ERROR] 0 CoreFoundation 0x00000001153f5af3 __exceptionPreprocess + 147\r\n[ERROR] 1 libobjc.A.dylib 0x0000000114991141 objc_exception_throw + 48\r\n[ERROR] 2 CoreFoundation 0x0000000115465134 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132\r\n[ERROR] 3 CoreFoundation 0x000000011537c840 ___forwarding___ + 1024\r\n[ERROR] 4 CoreFoundation 0x000000011537c3b8 _CF_forwarding_prep_0 + 120\r\n[ERROR] 5 TestApp 0x000000010e684adc -[TiUITabGroup handleDidShowTab:] + 588\r\n[ERROR] 6 TestApp 0x000000010e685c86 -[TiUITabGroup tabBarController:didSelectViewController:] + 294\r\n[ERROR] 7 UIKit 0x00000001105a4853 -[UITabBarController _tabBarItemClicked:] + 658\r\n[ERROR] 8 UIKit 0x00000001103a7d22 -[UIApplication sendAction:to:from:forEvent:] + 83\r\n[ERROR] 9 UIKit 0x00000001107ba6f7 -[UITabBar _sendAction:withEvent:] + 566\r\n[ERROR] 10 UIKit 0x00000001103a7d22 -[UIApplication sendAction:to:from:forEvent:] + 83\r\n[ERROR] 11 UIKit 0x000000011052c25c -[UIControl sendAction:to:forEvent:] + 67\r\n[ERROR] 12 UIKit 0x000000011052c577 -[UIControl _sendActionsForEvents:withEvent:] + 450\r\n[ERROR] 13 UIKit 0x00000001107bcdb5 -[UITabBar _buttonUp:] + 113\r\n[ERROR] 14 UIKit 0x00000001103a7d22 -[UIApplication sendAction:to:from:forEvent:] + 83\r\n[ERROR] 15 UIKit 0x000000011052c25c -[UIControl sendAction:to:forEvent:] + 67\r\n[ERROR] 16 UIKit 0x000000011052c577 -[UIControl _sendActionsForEvents:withEvent:] + 450\r\n[ERROR] 17 UIKit 0x000000011052b4b2 -[UIControl touchesEnded:withEvent:] + 618\r\n[ERROR] 18 UIKit 0x000000011041549a -[UIWindow _sendTouchesForEvent:] + 2707\r\n[ERROR] 19 UIKit 0x0000000110416bb0 -[UIWindow sendEvent:] + 4114\r\n[ERROR] 20 UIKit 0x00000001103c37b0 -[UIApplication sendEvent:] + 352\r\n[ERROR] 21 UIKit 0x0000000110ba6adc __dispatchPreprocessedEventFromEventQueue + 2926\r\n[ERROR] 22 UIKit 0x0000000110b9ea3a __handleEventQueue + 1122\r\n[ERROR] 23 CoreFoundation 0x000000011539bc01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17\r\n[ERROR] 24 CoreFoundation 0x00000001153810cf __CFRunLoopDoSources0 + 527\r\n[ERROR] 25 CoreFoundation 0x00000001153805ff __CFRunLoopRun + 911\r\n[ERROR] 26 CoreFoundation 0x0000000115380016 CFRunLoopRunSpecific + 406\r\n[ERROR] 27 GraphicsServices 0x0000000116d00a24 GSEventRunModal + 62\r\n[ERROR] 28 UIKit 0x00000001103a60d4 UIApplicationMain + 159\r\n[ERROR] 29 TestApp 0x000000010e5d2be4 main + 100\r\n[ERROR] 30 libdyld.dylib 0x0000000117f3c65d start + 1\r\n{noformat}\r\n\r\nSDK 6.0.3.GA works just fine.", "attachment": [], "flagged": false, "summary": "iOS: App with \"More\" tab crashes on tapping (6.0.4.GA)", "creator": { "name": "toshiro", "key": "toshiro", "displayName": "Toshiro Yagi", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "toshiro", "key": "toshiro", "displayName": "Toshiro Yagi", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "SDK 6.0.4.GA\r\niOS 10.3 (Simulator)", "comment": { "comments": [ { "id": "419274", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "The issue was caused by TIMOB-23542 and [this line|https://github.com/appcelerator/titanium_mobile/pull/8663/files#diff-f2ae454ff5230d17288a67677d69fd36L352]. We should follow a better approach then nilling a delegate VC.\r\n\r\nPR (master): https://github.com/appcelerator/titanium_mobile/pull/9028\r\nPR (6_1_X): https://github.com/appcelerator/titanium_mobile/pull/9029 \r\n\r\nTest-Case:\r\n{code:js}\r\n/**\r\n * Create a new `Ti.UI.TabGroup`.\r\n */\r\nvar tabGroup = Ti.UI.createTabGroup();\r\n\r\n/**\r\n * Add the two created tabs to the tabGroup object.\r\n */\r\ntabGroup.addTab(createTab(\"Tab 1\", \"I am Window 1\", \"assets/images/tab1.png\"));\r\ntabGroup.addTab(createTab(\"Tab 2\", \"I am Window 2\", \"assets/images/tab2.png\"));\r\ntabGroup.addTab(createTab(\"Tab 3\", \"I am Window 3\", \"assets/images/tab2.png\"));\r\ntabGroup.addTab(createTab(\"Tab 4\", \"I am Window 4\", \"assets/images/tab2.png\"));\r\ntabGroup.addTab(createTab(\"Tab 5\", \"I am Window 5\", \"assets/images/tab2.png\"));\r\ntabGroup.addTab(createTab(\"Tab 6\", \"I am Window 6\", \"assets/images/tab2.png\"));\r\n\r\n/**\r\n * Open the tabGroup\r\n */\r\ntabGroup.open();\r\n\r\n/**\r\n * Creates a new Tab and configures it.\r\n *\r\n * @param {String} title The title used in the `Ti.UI.Tab` and it's included `Ti.UI.Window`\r\n * @param {String} message The title displayed in the `Ti.UI.Label`\r\n * @return {String} icon The icon used in the `Ti.UI.Tab`\r\n */\r\nfunction createTab(title, message, icon) {\r\n var win = Ti.UI.createWindow({\r\n title: title,\r\n backgroundColor: '#fff'\r\n });\r\n\r\n var label = Ti.UI.createLabel({\r\n text: message,\r\n color: \"#333\",\r\n font: {\r\n fontSize: 20\r\n }\r\n });\r\n\r\n win.add(label);\r\n\r\n var tab = Ti.UI.createTab({\r\n title: title,\r\n icon: icon,\r\n window: win\r\n });\r\n\r\n return tab;\r\n}\r\n{code}", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-05-08T10:56:47.000+0000", "updated": "2017-05-08T10:56:47.000+0000" }, { "id": "419477", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, using:\r\nMacOS 10.12 (16A323)\r\nStudio 4.9.0.201704061825\r\nTi SDK 6.1.0.v20170509174002\r\nAppc NPM 4.2.9\r\nAppc CLI 6.2.0\r\nAlloy 1.9.11\r\nXcode 8.3.2 (8E2002)\r\n\r\nNo error encountered when changing tabs on apps with many tabs. Tapping on the \"more\" tab does not throw an error.", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-05-10T16:35:01.000+0000", "updated": "2017-05-10T16:35:01.000+0000" }, { "id": "419486", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Fixes verified in builds:\r\n6.1.0.v20170510094004\r\n6.2.0.v20170510100548", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-05-10T17:49:54.000+0000", "updated": "2017-05-10T17:49:54.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }