{ "id": "123405", "key": "TIMOB-15907", "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": "15715", "description": "2013 Sprint 25", "name": "2013 Sprint 25", "archived": true, "released": true, "releaseDate": "2013-12-13" }, { "id": "15717", "description": "2013 Sprint 25 Core", "name": "2013 Sprint 25 Core", "archived": true, "released": true, "releaseDate": "2013-12-13" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" }, { "id": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-12-06T19:27:32.000+0000", "created": "2013-12-05T23:42:45.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "QA-Fail", "bug", "ios", "qe-testadded", "regression", "settings.bundle" ], "versions": [], "issuelinks": [], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2014-03-11T11:49:13.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": "13103", "name": "CLI", "description": "Node-based command line interface" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Affected versions (Titanium SDK for iOS):\r\n\r\n3.2.0.v20131204220843, 3.2.0.v20131102082008,\r\nany version greater than 3.1.3.GA\r\n\r\niOS version : 7.x\r\n\r\nProblem: Settings.bundle is not loaded into the settings app.\r\n\r\nAttached is a sample app that demonstrates the issue.\r\n\r\nTo reproduce do the following:\r\n\r\n- Reset iOS (iPad or iPhone) simulator\r\n\r\n- Build the sample app using Titanium SDK 3.1.3.GA\r\nexit the app, go to the settings app, notice that there is a setting for iosbug.\r\n\r\n- Reset iOS (iPad or iPhone) simulator\r\n\r\n- Clean the build\r\n\r\n- Build the sample app using Titanium SDK 3.2.0.v20131204220843 \r\n\r\n- Observe there is no iosbug setting in the setting app\r\n\r\nTHIS IS THE LATEST NIGHTLY BUILD OF THE TITANIUM SDK. \r\nI would consider this a critical bug. This feature has always worked before.\r\n\r\n\r\nThe zip file is 2.2MB because of default iOS graphics.\r\n\r\n\r\nI have also included a simulator screenshot of the settings app screen when the titanium app is using 3.1.3.GA and 3.2.0.v20131204220843 the file names denotes which version you are viewing.\r\n", "attachment": [ { "id": "44423", "filename": "iosbug.zip", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-05T23:42:45.000+0000", "size": 2159752, "mimeType": "application/zip" }, { "id": "44424", "filename": "TITANIUM-SDK-3.1.3.GA-SETTINGS-APP-SCREEN.png", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-05T23:42:45.000+0000", "size": 72373, "mimeType": "image/png" }, { "id": "44425", "filename": "TITANIUM-SDK-3.2.0.v20131204220843-SETTINGS-APP-SCREEN.png", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-05T23:42:45.000+0000", "size": 74169, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: Settings.bundle fails to load", "creator": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "osx, iOS 7, Titanium SDK (classic or alloy)", "comment": { "comments": [ { "id": "282762", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "confirmed this is a regression in CLI. ", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-06T00:14:20.000+0000", "updated": "2013-12-06T00:14:20.000+0000" }, { "id": "282792", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I have learned a bit more about this bug.\r\n\r\nIt turns out that the on the simulator when you show the content of iosbug.app, Settings.bundle does not exist on the Ti 3.2.x build of the app.\r\n\r\nAdditionally, the Xcode generated project (Ti 3.2.x) has a Settings.bundle at the xcodeproj root level.\r\n\r\nIt appears that Settings.bundle is being placed in the wrong location and not being symlinked. \r\n\r\n\r\nOn 3.1.3.GA behavior:\r\n\r\ninside iosbug.app there exists a Settings.bundle file and inside that file Root.plist is symlinked back to iosbug/platform/iphone/Settings.bundle/Root.plist\r\nAlso there is no Settings.bundle file at the root of the xcodeproj file.\r\n\r\n\r\nI'm not sure where in the build script it symlinks over the /platform/iphone folder to iosbug.app/ but that is very likely the issue. Still looking into it. \r\n\r\nThank you so much for moving on this quickly.\r\n\r\n\r\n", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-06T05:02:22.000+0000", "updated": "2013-12-06T05:08:24.000+0000" }, { "id": "282811", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "***Fixed.***\r\n\r\n\r\nWhen you ( I'm talking you to Chris ) decided to kill all the symlinks, the directory platform/iphone/ is completely not copied into the xcodeAppDir. :-)\r\n\r\n_build.js start at line 2748:\r\nhttps://gist.github.com/Sophrinix/242455529d66bff0cc5e\r\n\r\nI added:\r\n\r\n\t\t// last let's move that Settings.bundle into the xcodeAppDir, where it belongs.\r\n\t\t//symlinkResources(path.join(this.projectDir, 'platform', 'iphone'), this.xcodeAppDir, false);\r\n\t\t\r\n\t\t\tfunction (cb) {\r\n\t\t\t\tcopyDir.call(this, {\r\n\t\t\t\t\tsrc: path.join(this.projectDir, 'platform', 'iphone'),\r\n\t\t\t\t\tdest: this.xcodeAppDir\r\n\t\t\t\t}, cb);\r\n\t\t\t},\r\n\r\n\r\nto your tasks array.\r\n\r\n\r\nThis fixes the issue (from the end user vantage point).\r\n\r\nSettings.bundle is however now being copied twice.\r\nOnce correctly, as per my change, and once incorrectly as per something going on in your code.\r\n\r\nI've already signed a CLA, so this should be good to go.\r\n\r\nmy complete _build.js file can be see in this gist:\r\n\r\n https://gist.github.com/Sophrinix/7819604\r\n\r\n\r\nI suspect that there might be a few other misc/ less obvious things that are not being placed in the correct spots, but were handled thanks to symlinking.\r\n\r\n\r\n\r\n", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-06T06:50:05.000+0000", "updated": "2013-12-06T07:08:36.000+0000" }, { "id": "282814", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "One more (unrelated) note. I really like the refactor between 3.1.3 and 3.2.x on that _build.js file.\r\nrefactoring to the iOSBuilder object makes for much more readable code. \r\n\r\nAs always, keep up the good work. \r\nI hope to get some training coverage/documentation on the build tools soon, they are really critical to understanding Titanium's internals. ", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-06T07:07:36.000+0000", "updated": "2013-12-06T07:08:06.000+0000" }, { "id": "282815", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~sophrinix] I know exactly what the problem is. I made this behavior change a month ago to be in parity with Android, but wouldn't you know it, iOS does something completely different than Android. I will restore the original functionality tomorrow.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2013-12-06T07:10:04.000+0000", "updated": "2013-12-06T07:10:04.000+0000" }, { "id": "282911", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Master pull request: https://github.com/appcelerator/titanium_mobile/pull/5080\n3.2.x pull request: https://github.com/appcelerator/titanium_mobile/pull/5081", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2013-12-06T18:15:04.000+0000", "updated": "2013-12-06T18:15:04.000+0000" }, { "id": "283172", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified with test Environment:\r\n\r\nAppcelerator Studio: 3.2.0.201312081316\r\nSDK:3.2.0.v20131208204843\r\nalloy: 1.3.0-beta\r\nacs: 1.0.10\r\nnpm: 1.3.2\r\ntitanium: 3.2.0-beta\t\r\ntitanium-code-processor: 1.1.0-beta\r\nXcode:5.0.2\r\nOS: Mac OSX 10.9\r\nDevice: iphone5(V7.0.4),iphone simulator(v7.0.3)\r\n\r\nClosing as fixed and verified.\r\nObserve that expected app(iosbug) visible in the setting of the device and simulator.", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-09T07:10:12.000+0000", "updated": "2013-12-09T07:10:12.000+0000" }, { "id": "283174", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Also verified with iPad simulator(v7.0.3) and ipad3(v 7.0)", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-09T07:20:59.000+0000", "updated": "2013-12-09T07:20:59.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }