{ "id": "82999", "key": "TIMOB-6273", "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": "12089", "description": "", "name": "Sprint 2011-49", "archived": true, "released": true, "releaseDate": "2011-12-12" }, { "id": "12571", "description": "CI for 1_7_X", "name": "Release 1.7.6", "archived": true, "released": false }, { "id": "12580", "description": "Dual Runtime 1.8.0", "name": "Release 1.8.0.1", "archived": true, "released": true, "releaseDate": "2011-12-22" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-12-06T16:25:33.000+0000", "created": "2011-11-21T16:50:09.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "12570", "name": "Release 1.7.5", "archived": true, "released": true, "releaseDate": "2011-11-02" }, { "id": "11331", "description": "", "name": "Release 1.8.0", "archived": true, "released": true, "releaseDate": "2011-10-31" }, { "id": "12580", "description": "Dual Runtime 1.8.0", "name": "Release 1.8.0.1", "archived": true, "released": true, "releaseDate": "2011-12-22" } ], "issuelinks": [ { "id": "14312", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "83986", "key": "TIMOB-6784", "fields": { "summary": "iOS: Database - data not transferred when populated database migrated from Titanium's old database folder to Private Documents", "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 } } } } ], "assignee": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-02-03T16:09:21.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": "Since iOS 5 and iCloud integration Apple has stated that the database should be placed according to iOS Data Storage Guidelines but Ti.Database.install always installs database into the Library/Application Support/database folder. Apple rejects Apps which does not follow this rule. We need to change our SDK accordingly.\r\n\r\nh4. iOS Data Storage Guidelines\r\nhttp://developer.apple.com/icloud/documentation/data-storage/\r\n\r\nh4. Associated Helpdesk Tickert\r\nhttp://appc.me/c/APP-316734", "attachment": [], "flagged": false, "summary": "Database installation folder issue related to iCloud", "creator": { "name": "qgao", "key": "qgao", "displayName": "Qing Gao", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "qgao", "key": "qgao", "displayName": "Qing Gao", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "iOS5", "comment": { "comments": [ { "id": "174275", "author": { "name": "heenok", "key": "heenok", "displayName": "heenok", "active": true, "timeZone": "America/Los_Angeles" }, "body": "When this bug will be fix ? Really annoying. Thanks.", "updateAuthor": { "name": "heenok", "key": "heenok", "displayName": "heenok", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-11-30T00:35:10.000+0000", "updated": "2011-11-30T00:35:10.000+0000" }, { "id": "174997", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Databases will actually need to be stored in either {{/Documents}} or {{/Library/Private Documents}}. See this QA note: https://developer.apple.com/library/ios/#qa/qa1719/_index.html", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-06T10:20:40.000+0000", "updated": "2011-12-06T10:20:40.000+0000" }, { "id": "175028", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "h4. TESTING\r\n----\r\n\r\nSIMULATOR:\r\n\r\n*NOTE:* Paths for earlier apps which ran the database test may still have the old path in them ({{Application Support/database}}). You should clean your simulator apps directory before running this test.\r\n\r\n# Launch KitchenSink -> Platform -> Database \r\n# Click the buttons on the test and verify output\r\n# In the Terminal app on your desktop, go to {{$HOME/Library/Application Support/iPhone Simulator/5.0/Applications}}\r\n# Run the following command: {{find . -name 'mydb.sql'}}\r\n#* All results should include the path {{Library/Private Documents/mydb.sql}}\r\n# Run the following command: {{find . -name 'quotes.sql'}}\r\n#* All results should include the path {{Library/Private Documents/quotes.sql}}\r\n\r\nDEVICE:\r\nRun only steps 1 & 2 above\r\n\r\nSUBMISSION:\r\nIf possible (i.e. you have a distribution certificate) submit an app which uses databases (this requires manual review from Apple, I assume) and check for any rejection messages containing the following:\r\n\r\n{quote}\r\nWe found that your app does not follow the iOS Data Storage Guidelines, which is not in compliance with the App Store Review Guidelines.\r\n\r\nIn particular, we found that the app is storing too much data in the incorrect location.\r\n{quote}\r\n\r\n", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-06T12:47:46.000+0000", "updated": "2011-12-06T13:33:43.000+0000" }, { "id": "175084", "author": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing bug. Verified fix on:\r\n\r\nOS: Mac OS X Lion\r\nTitanium Studio, build: 1.0.7.201112060130\r\nSDK build: 1.8.0.1.v20111205164258\r\nDevices: iOS Simulator 4.3, iOS Simulator 5.0, ipod 3rd Gen (4.0.2), iphone 4S (5.0.1), ipad 2 (4.3.5)\r\n\r\nNote: Did not test for SUBMISSION. As per Thomas, we do not have anything to submit to the Apple Store.", "updateAuthor": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-12-06T15:52:24.000+0000", "updated": "2011-12-06T15:52:24.000+0000" }, { "id": "175086", "author": { "name": "qgao", "key": "qgao", "displayName": "Qing Gao", "active": true, "timeZone": "America/Los_Angeles" }, "body": "There are some real cases from customer's Apps approved by Apple in the associated helpdesk ticket.", "updateAuthor": { "name": "qgao", "key": "qgao", "displayName": "Qing Gao", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-06T15:55:28.000+0000", "updated": "2011-12-06T15:55:28.000+0000" }, { "id": "176226", "author": { "name": "heenok", "key": "heenok", "displayName": "heenok", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Do we need to set Library/Private Documents/ with the DNBU flag ? (if yes, how ?)\r\n\r\nThanks.", "updateAuthor": { "name": "heenok", "key": "heenok", "displayName": "heenok", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-15T06:35:23.000+0000", "updated": "2011-12-15T06:35:23.000+0000" }, { "id": "176233", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "heenok -\r\n\r\nYou can (and it's recommended). There's a new property on {{Titanium.Database.DB}} called {{file}}, which returns a {{Titanium.Filesystem.File}} object. On this object, you can set the DNBU flag via the {{remoteBackup}} property, by setting it to {{false}}. Note that this actually prevents ALL backups, not just to iCloud.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-15T09:40:04.000+0000", "updated": "2011-12-15T09:40:04.000+0000" }, { "id": "176354", "author": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Tested again. Did not find any new bugs. Verified on:\r\n\r\nOS: Mac OS X Lion\r\nSDK build: 1.8.0.1-20111216011148\r\nTitanium Studio, build: 1.0.7.201112152014\r\nDevices: iOS Simulator 4.3, iOS Simulator 5.0, iPhone (5.0.1)\r\n\r\nNote: Did not test SUBMISSION. QE already submitted an app around the time of this writing.", "updateAuthor": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-12-16T10:43:05.000+0000", "updated": "2011-12-16T10:43:05.000+0000" }, { "id": "176365", "author": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "body": "I apologize if I am completely out of order by posting here.\r\n\r\nBut according to the iOS Data Storage Guidelines:\r\n\"1. Only documents and other data that is user-generated, or that cannot otherwise be recreated by your application, should be stored in the /Documents directory and will be automatically backed up by iCloud.\"\r\n\r\nshouldn't we at least be able to indicate that our Ti.Database is indeed user-generated and does indeed require to be synced and backed up?", "updateAuthor": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "created": "2011-12-16T13:26:54.000+0000", "updated": "2011-12-16T13:26:54.000+0000" }, { "id": "176368", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Martijn -\r\n\r\nThis is a feature request. Please feel free to file one.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-16T13:31:40.000+0000", "updated": "2011-12-16T13:31:40.000+0000" }, { "id": "176375", "author": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "body": "Will do.\r\n\r\nApart from that I think I also found that the migration of an existing database in the Lib/App support/database does not work. After installing my app on my iPhone for testing I had lost all my data and my default \"master\" database was used instead.\r\n\r\nInspecting the app's data folder showed that the original app support/database db was still there, and a new default database was created in private documents.\r\n\r\n1.9.0.v20111216103134", "updateAuthor": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "created": "2011-12-16T13:47:21.000+0000", "updated": "2011-12-16T13:47:21.000+0000" }, { "id": "176378", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Martjin -\r\n\r\nCan you file a bug for that as well, along with a test case that you can verify demonstrates the problem?", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-16T14:17:13.000+0000", "updated": "2011-12-16T14:17:13.000+0000" } ], "maxResults": 12, "total": 12, "startAt": 0 } } }