{ "id": "155098", "key": "TIMOB-20453", "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": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-08-03T03:36:50.000+0000", "created": "2016-02-24T12:51:27.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "qe-5.2.1", "qe-5.4.0", "regression" ], "versions": [ { "id": "16997", "name": "Release 5.2.0", "archived": false, "released": true, "releaseDate": "2016-02-23" } ], "issuelinks": [ { "id": "50734", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "155268", "key": "TIMOB-20497", "fields": { "summary": "Remove \"rendering artifact\" between launch storyboard and first view", "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": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "52256", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "161996", "key": "TIMOB-23673", "fields": { "summary": "iOS: Unable to set LaunchScreen.storyboard on classic applications", "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": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "50687", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "151883", "key": "TIMOB-19694", "fields": { "summary": "CLI: Create template to configure launchScreen.storyboard", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-08-03T20:00:07.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" } ], "attachment": [ { "id": "58387", "filename": "artifact.mov", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-02T08:40:52.000+0000", "size": 8947156, "mimeType": "video/quicktime" }, { "id": "58388", "filename": "fix.mov", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-02T09:13:11.000+0000", "size": 6523759, "mimeType": "video/quicktime" } ], "flagged": false, "summary": "5.3.0 Regression: \"rendering artifact\" between launch image and first view", "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.2.0.GA", "closedSprints": [ { "id": 682, "state": "closed", "name": "2016 Sprint 15 SDK", "startDate": "2016-07-16T00:19:20.819Z", "endDate": "2016-07-30T00:19:00.000Z", "completeDate": "2016-08-01T04:40:11.421Z", "originBoardId": 114 }, { "id": 685, "state": "closed", "name": "2016 Sprint 16 SDK", "startDate": "2016-07-30T00:40:02.939Z", "endDate": "2016-08-13T00:40:00.000Z", "completeDate": "2016-08-15T08:00:33.056Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "377762", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "/cc [~cbarber]", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-02-24T12:51:41.000+0000", "updated": "2016-02-24T12:51:41.000+0000" }, { "id": "377904", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "I don't know that we can fix this. iOS controls when the launch screen starts to fade out. I'm not sure if this is triggered by the root view being displayed. Maybe we can render the launch screen again so that the launch screen essentially fades away to reveal the launch screen again.\r\n\r\nPart of the problem is storyboard launch screens are displayed differently than the old image-based launch screens. The image-based launch screens essentially sat there in the background and it appeared the root view rendered on top. I suspect that in order to solve this, we're going to have to do a nasty hack and it won't be as simple as making the root view transparent.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-02-25T18:22:59.000+0000", "updated": "2016-02-25T18:22:59.000+0000" }, { "id": "377996", "author": { "name": "timpoulsen", "key": "timpoulsen", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/Havana" }, "body": "In light of this issue, storyboard launch files should have been listed as a Behavior Changed (not quite breaking, but pretty ugly) in your 5.2.0.GA release notes. Without adding the launch file tags or the background color tag, and using the old launch images, I get the fade-to-black \"artifact\" described here. It is pretty darned ugly. The best I can do is make that artifact white to match my launch image background, and live with a 1-2 second white screen during app launch. That's the case with or without using the launch image storyboard. \r\n\r\nIn my opinion, this ticket should have a higher priority and should be a Bug not Improvement.", "updateAuthor": { "name": "timpoulsen", "key": "timpoulsen", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/Havana" }, "created": "2016-02-26T18:09:24.000+0000", "updated": "2016-02-26T18:09:24.000+0000" }, { "id": "377999", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~timpoulsen] are you sure the behavior has changed if you are not using the (off by default) storyboard launch file? I didn't notice and actually can't think of a reason why it would.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-02-26T18:12:24.000+0000", "updated": "2016-02-26T18:12:24.000+0000" }, { "id": "378008", "author": { "name": "timpoulsen", "key": "timpoulsen", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/Havana" }, "body": "All I did was change the SDK version in the tiapp and on iOS I started seeing the 1-2 sec black \"interstitial\" screen. Since then, I've implemented the {{enable-launch-screen-storyboard}} tag, the LaunchLogo images, and the color tag. I get the white interstitial now (this ticket).\r\n\r\nBTW, in my testing, it seems that if DefaultIcon-ios.png is present, the launch storyboards are used even without those tags or with {{enable-launch-screen-storyboard}} set to false. My old launch image files are not used if the DefaultIcon-ios.png file is present. (BTW, I'd swear that you used to have to name that file DefaultIcon-iphone.png but now it's DefaultIcon-ios.png)", "updateAuthor": { "name": "timpoulsen", "key": "timpoulsen", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/Havana" }, "created": "2016-02-26T19:51:03.000+0000", "updated": "2016-02-26T19:51:03.000+0000" }, { "id": "378179", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Just got a similar report on Stack Overflow:\r\nhttp://stackoverflow.com/questions/35706403/titanium-strange-transition-from-splash-screen-on-sdk-5-2-0\r\n\r\nWhen I upgrade a 5.1.2 app of mine to 5.2.0 I notice no difference. Also looking at the [source code|https://github.com/appcelerator/titanium_mobile/blob/1a4d814dffb007bb9eda47687ceb4f8d5b066590/iphone/cli/commands/_build.js#L2109] storyboard launch files will be disabled if you don't have the flag in {{tiapp.xml}} and is also unrelated to having a {{Defaulticon-ios.png}} file.\r\n\r\nThat said, these reports can't be coincidence. I've asked [~developer82] to provide a reproducible test case.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-02-29T19:14:17.000+0000", "updated": "2016-02-29T19:14:17.000+0000" }, { "id": "378296", "author": { "name": "wilsonliaw", "key": "wilsonliaw", "displayName": "Wilson Liaw", "active": true, "timeZone": "Asia/Shanghai" }, "body": "I can confirm this too, every settings (either turn on/off flag or totally don't have the flag in tiapp.xml) will cause a short black screen when I launch my app, normally appear after I build the app to device\r\n\r\n[Update] Sorry, I think I made a mistake, I put the flag under plist tag. After change it to the right place (under ios tag), so far everything works as expected.", "updateAuthor": { "name": "wilsonliaw", "key": "wilsonliaw", "displayName": "Wilson Liaw", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2016-03-01T14:46:32.000+0000", "updated": "2016-03-01T15:28:11.000+0000" }, { "id": "378430", "author": { "name": "developer82", "key": "developer82", "displayName": "Ophir Oren", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I was able to reproduce this. Just created a new Ally project.\r\n\r\n[redacted: added simple example to description]", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-02T05:08:33.000+0000", "updated": "2016-03-02T08:47:52.000+0000" }, { "id": "378449", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-02T09:13:50.000+0000", "updated": "2016-03-02T09:18:53.000+0000" }, { "id": "378465", "author": { "name": "colorhat", "key": "colorhat", "displayName": "Tobias Høegh", "active": true, "timeZone": "Europe/Oslo" }, "body": "Fokke, You made my day! This works fine in my case.", "updateAuthor": { "name": "colorhat", "key": "colorhat", "displayName": "Tobias Høegh", "active": true, "timeZone": "Europe/Oslo" }, "created": "2016-03-02T12:12:47.000+0000", "updated": "2016-03-02T12:12:47.000+0000" }, { "id": "378533", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PRs approved and merged!", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-03-03T04:48:28.000+0000", "updated": "2016-03-03T04:48:28.000+0000" }, { "id": "379267", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed, Using SDK {{5.2.1.v20160307134704}} the behaviour of the app matched the \"fix.mov\" video. When Storyboard is set to *false*, launchImage is shown & there is no rendering artifact. When Storyboard is set to *true*, the launchImage is not shown. \r\n\r\nTested on:\r\n\r\niPhone 6S (9.2.1) Device\r\nMac OSX El Capitan 10.11.3 (15D21) \r\nTi SDK: 5.2.1.v20160307134704 \r\nAppc Studio: 4.5.0.201602170821 \r\nAppc NPM: 4.2.4-2\r\nApp CLI: 5.2.1-11\r\nXcode 7.2 \r\nNode v4.2.6 \r\nproduction\r\n\r\n*Closing ticket.*", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-03-09T00:31:25.000+0000", "updated": "2016-03-09T00:31:25.000+0000" }, { "id": "387552", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, The issue is back in SDK 5.3.0.GA. I can reproduce the issue in iOS 9.2.\r\n\r\nEnvironment:\r\n{code}\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.11.4\r\n Architecture = 64bit\r\n # CPUs = 4\r\n Memory = 8589934592\r\n\r\nNode.js\r\n Node.js Version = 4.2.2\r\n npm Version = 2.14.7\r\n\r\nTitanium CLI\r\n CLI Version = 5.0.8\r\n\r\nTitanium SDK\r\n SDK Version = 5.3.0.GA\r\n SDK Path = /Users/gsl001/Library/Application Support/Titanium/mobil\r\nesdk/osx/5.2.2.GA\r\n Target Platform = iphone\r\n{code}\r\n", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2016-06-03T21:34:30.000+0000", "updated": "2016-06-03T21:34:30.000+0000" }, { "id": "387555", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Your SDK Version says 5.3.0.GA, but your SDK Path shows 5.2.2.GA", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-03T21:48:25.000+0000", "updated": "2016-06-03T21:48:25.000+0000" }, { "id": "387752", "author": { "name": "developer82", "key": "developer82", "displayName": "Ophir Oren", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I opened a new bug about it in 5.3.0, and since it's duplicated with an old bug it was reopened.\r\nI have this problem with 5.3.0.", "updateAuthor": { "name": "developer82", "key": "developer82", "displayName": "Ophir Oren", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-06-07T12:32:51.000+0000", "updated": "2016-06-07T12:32:51.000+0000" }, { "id": "388193", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~developer82] wat is the ticket nr of that new bug report?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-06-13T09:48:51.000+0000", "updated": "2016-06-13T09:48:51.000+0000" }, { "id": "388299", "author": { "name": "developer82", "key": "developer82", "displayName": "Ophir Oren", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It was a new bug report. Someone marked it as duplicated and pointed here. Changing this bug to ReOpen", "updateAuthor": { "name": "developer82", "key": "developer82", "displayName": "Ophir Oren", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-06-14T16:12:35.000+0000", "updated": "2016-06-14T16:12:35.000+0000" }, { "id": "388778", "author": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Any updates on this? I started to notice the black screen as well when I updated to 5.3.0", "updateAuthor": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-06-21T21:14:01.000+0000", "updated": "2016-06-21T21:14:08.000+0000" }, { "id": "388790", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Ok, so just to clarify: You are sure that the rendering-artifact (aka black screen) did not happen in 5.2.1.GA but it does on 5.3.0.GA? That is very important for the investigation, thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-21T23:22:05.000+0000", "updated": "2016-06-21T23:22:05.000+0000" }, { "id": "388791", "author": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I had upgraded from 5.2.2.GA to 5.3.0.GA and that was when the black screen occurred for me.", "updateAuthor": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-06-21T23:25:33.000+0000", "updated": "2016-06-21T23:25:33.000+0000" }, { "id": "388804", "author": { "name": "developer82", "key": "developer82", "displayName": "Ophir Oren", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hans, Yes I'm sure.\r\nIt was a bug in 5.2.0 that was fixed in 5.2.2 (see reproduction of bug in this post).\r\nAnd now it's back in 5.3.0.", "updateAuthor": { "name": "developer82", "key": "developer82", "displayName": "Ophir Oren", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-06-22T04:10:45.000+0000", "updated": "2016-06-22T04:10:45.000+0000" }, { "id": "389816", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~developer82] I tested using 5.2.2.GA and I see the same behavior with LaunchScreen enabled. The problem is (as above described) that iOS decides when to hide the launch screen, so we would need to apply a hack that shows it until the app is ready to launch - after our initial operations are done. Tricky ...", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-07-02T03:11:39.000+0000", "updated": "2016-07-02T03:11:39.000+0000" }, { "id": "389817", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Alright, I guess I finally found the correct place to inject the storyboard. It basically uses the view of the launchscreen-storyboard if it is defined, and the usual view if not. The view is garbage-collected after being presented, so the performance is the same. \r\n\r\nPR (master): https://github.com/appcelerator/titanium_mobile/pull/8102\r\nPR (5_4_X): https://github.com/appcelerator/titanium_mobile/pull/8103\r\n\r\nTest:\r\n1. Run {{appc new}} to create a new project. This enabled storyboard automatically. If you choose this step, you can proceed to step *4*.\r\n2. Include {{true}} in the {{}} section of your tiapp.xml\r\n3. Provide a {{LaunchScreen.storyboard}} file in {{platform/iphone}}\r\n4. Open the app.js and paste the following code into it:\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: 'green'\r\n});\r\n \r\n// simulating a delay when you need to do heavy stuff before opening the first window\r\nsetTimeout(function() {\r\n win.open();\r\n}, 3000);\r\n{code}\r\n5. Run the app!\r\n\r\n*Expected behavior*: The storyboard should be shown until the green window appears. No black rendering artifact should be visible.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-07-02T03:39:54.000+0000", "updated": "2016-07-02T03:46:01.000+0000" }, { "id": "389859", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "CR and FT passed. 5_3_X backport please.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-04T04:07:18.000+0000", "updated": "2016-07-04T04:07:18.000+0000" }, { "id": "389860", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (5_3_X): https://github.com/appcelerator/titanium_mobile/pull/8106", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-07-04T04:09:50.000+0000", "updated": "2016-07-04T04:09:50.000+0000" }, { "id": "389865", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR Merged.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-04T05:07:59.000+0000", "updated": "2016-07-04T05:07:59.000+0000" }, { "id": "389912", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "The PR introduced a new bug.\r\n\r\nh4. Steps to reproduce\r\n1. *appc new*\r\n2. in tiapp.xml, set\r\n{code}\r\n \r\n false\r\n false\r\n{code}\r\n3. *appc run -p ios*\r\n\r\nh4. Expected Result\r\nApp builds and runs normally\r\n\r\nh4. Actual Result\r\nApp crashes with the following log:\r\n{code}\r\n[ERROR] The application has crashed with an uncaught exception 'NSInvalidArgumentException'.\r\n[ERROR] Reason:\r\n[ERROR] Could not find a storyboard named 'LaunchScreen' in bundle NSBundle (loaded)\r\n[ERROR] Stack trace:\r\n[ERROR]\r\n[ERROR] 0 CoreFoundation 0x00000001064a2d6d __exceptionPreprocess + 141\r\n[ERROR] 1 libobjc.A.dylib 0x0000000105e70deb objc_exception_throw + 48\r\n[ERROR] 2 UIKit 0x0000000102b76d3d -[UIStoryboard name] + 0\r\n[ERROR] 3 SGTestLaunch 0x000000010054e8ff -[TiRootViewController loadView] + 319\r\n[ERROR] 4 UIKit 0x00000001025cf560 -[UIViewController loadViewIfRequired] + 138\r\n[ERROR] 5 UIKit 0x00000001025cfcd3 -[UIViewController view] + 27\r\n[ERROR] 6 UIKit 0x00000001024a5fb4 -[UIWindow addRootViewControllerViewIfPossible] + 61\r\n[ERROR] 7 UIKit 0x00000001024a669d -[UIWindow _setHidden:forced:] + 282\r\n[ERROR] 8 UIKit 0x00000001024b8180 -[UIWindow makeKeyAndVisible] + 42\r\n[ERROR] 9 SGTestLaunch 0x0000000100610b15 -[TiApp initController] + 181\r\n[ERROR] 10 SGTestLaunch 0x0000000100611ec0 -[TiApp application:didFinishLaunchingWithOptions:] + 304\r\n[ERROR] 11 UIKit 0x000000010242b9ac -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 272\r\n[ERROR] 12 UIKit 0x000000010242cc0d -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3415\r\n[ERROR] 13 UIKit 0x0000000102433568 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1769\r\n[ERROR] 14 UIKit 0x0000000102430714 -[UIApplication workspaceDidEndTransaction:] + 188\r\n[ERROR] 15 FrontBoardServices 0x0000000108edf8c8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24\r\n[ERROR] 16 FrontBoardServices 0x0000000108edf741 -[FBSSerialQueue _performNext] + 178\r\n[ERROR] 17 FrontBoardServices 0x0000000108edfaca -[FBSSerialQueue _performNextFromRunLoopSource] + 45\r\n[ERROR] 18 CoreFoundation 0x00000001063c8301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17\r\n[ERROR] 19 CoreFoundation 0x00000001063be22c __CFRunLoopDoSources0 + 556\r\n[ERROR] 20 CoreFoundation 0x00000001063bd6e3 __CFRunLoopRun + 867\r\n[ERROR] 21 CoreFoundation 0x00000001063bd0f8 CFRunLoopRunSpecific + 488\r\n[ERROR] 22 UIKit 0x000000010242ff21 -[UIApplication _run] + 402\r\n[ERROR] 23 UIKit 0x0000000102434f09 UIApplicationMain + 171\r\n[ERROR] 24 SGTestLaunch 0x0000000100442806 main + 310\r\n[ERROR] 25 libdyld.dylib 0x00000001078bb92d start + 1\r\n[ERROR]\r\n{code}\r\n\r\n[~hansknoechel] ^", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-05T02:58:06.000+0000", "updated": "2016-07-05T02:58:06.000+0000" }, { "id": "390861", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Can no longer reproduce on 5_4_X. Environment used:\r\nTi SDK 5.4.0.v20160712013704\r\nAppc cli 5.4.0-31\r\nAppc npm 4.2.7\r\n\r\nScenarios tested: \r\n false\r\n false\r\nand\r\n true\r\n true\r\n\r\non both classic and alloy projects.\r\n\r\nwhile testing different scenarios, you may have to reset and reboot your simulator because there maybe artefacts from previous configuration installation.\r\n", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-18T04:44:29.000+0000", "updated": "2016-07-18T04:50:19.000+0000" }, { "id": "391337", "author": { "name": "jlongton", "key": "jlongton", "displayName": "Josh Longton", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed for alloy I have opened TIMOB-23673 for the issue with classic projects. \r\n\r\nI also tried to set LaunchScreen.storyboard on a 5.2.0 classic project which did not show the LaunchScreen.storyboard either.\r\n\r\nTested on:\r\niPhone 6 plus (9.1) \r\niOS Simulator (9.3) \r\n
Mac OSX El Capitan 10.11.6\r\nStudio: 4.7.0.201607130543\r\n
Ti SDK: 5.4.0.v20160720201924\r\n
Xcode 7.3.1 \r\n
Appc NPM: 4.2.7\r\nAppc CLI: 5.4.0-33 \r\nNode v4.4.4 \r\n*
Closing Ticket*", "updateAuthor": { "name": "jlongton", "key": "jlongton", "displayName": "Josh Longton", "active": true, "timeZone": "Europe/London" }, "created": "2016-07-22T22:49:08.000+0000", "updated": "2016-07-22T22:49:08.000+0000" }, { "id": "391351", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I would like to reopen this issue to provide a PR I thought about that fixes an outstanding issue / edge-case where the storyboard remains the rootView when the default containers are empty. \r\n\r\nReproduce in the current master / 5_4_X:\r\n{code:javascript}\r\n setTimeout(function() {\r\n\t var tabGroup = Ti.UI.createTabGroup();\r\n\t tabGroup.open();\r\n }, 2000); \r\n{code}\r\n\r\nThe reason why this is happening is, because I made the launch-screen the root-view to show it even when the root container (either a window, tab group or navigation window) is not shown. The problem was that the view has not been dismissed after the root container was opened, so it was still visible if the developer did not apply a background-color/image to the container.\r\n\r\nWhat I do now is, that I wrap the storyboard in an initial view that is always the first view in the subview hierarchy. After the root window (TiRootViewController) is opened, I remove that subview and the launch-screen gets dismissed. Simple as that, but it took me some time to think about it properly.\r\n\r\nPR (master): https://github.com/appcelerator/titanium_mobile/pull/8151\r\nPR (5_4_X): https://github.com/appcelerator/titanium_mobile/pull/8152\r\n\r\nDemo: See above!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-07-24T13:38:25.000+0000", "updated": "2016-07-24T13:38:25.000+0000" }, { "id": "391360", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Approved! Tested with enable-launch-screen-storyboard true and false.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-25T02:45:58.000+0000", "updated": "2016-07-25T02:45:58.000+0000" }, { "id": "392251", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "I ran the following Demo code as above: \r\n{code:java}\r\nsetTimeout(function() {\r\n\t var tabGroup = Ti.UI.createTabGroup();\r\n\t tabGroup.open();\r\n }, 2000); \r\n{code}\r\n\r\nHowever I continuously experience the following error: \r\n{code:java}\r\n[ERROR] : Script Error {\r\n[ERROR] : column = 38;\r\n[ERROR] : line = 2;\r\n[ERROR] : message = \"invalid method (createTabGroup) passed to UIModule\";\r\n[ERROR] : sourceURL = \"file:///var/containers/Bundle/Application/7E28E987-6749-4850-99CE-63CBD674CD67/TuesTay2.app/app.js\";\r\n[ERROR] : stack = \"[native code]\\nfile:///var/containers/Bundle/Application/7E28E987-6749-4850-99CE-63CBD674CD67/TuesTay2.app/app.js:2:38\";\r\n[ERROR] : }\r\n{code}\r\n\r\nBuilt to iOS8 / iOS9 Devices & Simulators with SDK 5.4.X / 5.3.1.GA / 5.2.2.GA / 5.2.0.GA\r\n set to TRUE / FALSE\r\n set to TRUE / FALSE \r\n\r\nThe only situation in which the issue no longer occurs is when I create Tabs and include them within the tabGroup.\r\nIf I understand correctly, the purpose of the demo code is to simulate an example in which an app contains empty containers. The question is whether the stated issue is an expected result - as a tabGroup needs to include tabs to function correctly - or if it is actually a bug, in which a new ticket should be created to address the problem.\r\n\r\nTested On:\r\n\r\niPhone 6S (9.3.3) Device & iPhone 6 Plus (8.3) Device\r\nMac OSX El Capitan 10.11.6\r\nTi SDK: 5.4.0.v20160801022303\r\nAppc Studio: 4.7.0.201607111053\r\nAppc NPM: 4.2.7\t\r\nApp CLI: 5.4.0-37\r\nXcode 7.3\r\nNode v4.4.7", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-08-03T01:21:12.000+0000", "updated": "2016-08-03T01:21:59.000+0000" }, { "id": "392263", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~htbryant] What I understand from the ticket is that the main issue is the \"rendering artifact\" when launching an app. The first PR indeed solved the bug in general, where the first window opened is a Ti.UI.window. But Hans forgot to address the same issue where a tabGroup is opened initially instead. \r\n\r\nThe problem is the demo code provided. It's one line of code with no real tabs and windows being added to the tab group, causing that error you see, completely unrelated to this ticket. I used the classic template when i did appc new so i never used that demo code when i reviewed this. Here's a link to the issue you are seeing., https://archive.appcelerator.com/question/148213/super-urgent--invalid-method-createtabgroup-passed-to-uimodule\r\n\r\nNow, the real test steps is here:\r\n1. *appc new --classic*\r\n2. in tiapp.xml, false\r\n3. Have an instance of simulator running first, and set to slow animations {{cmd-T}}\r\n4. *appc run -p ios*\r\n\r\nh4. Expected result\r\nno artifact when during launch. you'll see our favourite red splash screen\r\n\r\nIf you use an older 5.4.X build like 5.4.0.v20160519143319. It will crash. This 2nd PR fixes that. \r\n*Note* if you switch around often the true/false for true/false, you will also notice some weird behavior where the launch screen is mixed with the splash screen. This is perfectly normal. You just have to delete the app or reset the simulator when toggling the bool. Xcode Simulator, once you have a storyboard launch screen created to your app, caches it that's why.\r\n", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-08-03T03:17:57.000+0000", "updated": "2016-08-03T03:17:57.000+0000" }, { "id": "392342", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "[~cng] Thank you for the clarification. I have created a separate ticket (see TIMOB-23721) in regards to the aforementioned issue encountered with tabGroup() and followed the test steps as stated.\r\n\r\nVerified as fixed for both set to true / false.\r\n\r\n\r\nTested On:\r\niPhone 6S (9.3.3) Device & iPhone 6 Plus (8.3) Device\r\nMac OSX El Capitan 10.11.6\r\nTi SDK: 5.4.0.v20160802165655\r\nAppc Studio: 4.7.0.201607111053\r\nAppc NPM: 4.2.7\t\r\nApp CLI: 5.4.0-37\r\nXcode 7.3\r\nNode v4.4.7\r\n\r\n*Closing ticket.*", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-08-03T19:59:54.000+0000", "updated": "2016-08-03T19:59:54.000+0000" } ], "maxResults": 41, "total": 41, "startAt": 0 } } }