{ "id": "63631", "key": "TIMOB-2999", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "13502", "description": "Sprint 2012-14 Core", "name": "Sprint 2012-14 Core", "archived": true, "released": true, "releaseDate": "2012-07-15" }, { "id": "14096", "description": "Release 2.1.2", "name": "Release 2.1.2", "archived": true, "released": true, "releaseDate": "2012-08-31" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-07-05T15:43:09.000+0000", "created": "2011-04-15T03:34:25.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "core", "qe-review", "qe-testadded" ], "versions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" }, { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" } ], "issuelinks": [ { "id": "18310", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "88975", "key": "TIMOB-8336", "fields": { "summary": "iOS: Feature request to enable fPIE command line option in iOS app build", "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": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "29797", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "98861", "key": "TIMOB-10366", "fields": { "summary": "iOS: add the ability to set IPHONEOS_DEPLOYMENT_TARGET from tiapp.xml", "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": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "20490", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "100281", "key": "TIMOB-10733", "fields": { "summary": "iOS: transport.py/Xcode project settings - Minimum iOS SDK set in tiapp.xml is not reflected in the Xcode project deployment target, allowing transport.py or xcode run on non-intended iOS versions", "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 } } } }, { "id": "18571", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "88975", "key": "TIMOB-8336", "fields": { "summary": "iOS: Feature request to enable fPIE command line option in iOS app build", "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": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-06-25T16:31:02.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": "{html}

Feature

\r\n

Customer wants to be able to specify a custom Base SDK in a\r\nTitanium file, and have it influence the generated XCode project.\r\nAlso, future customers may want control of other XCode Project\r\nSettings.

\r\n

Proposed Solution

\r\n

Added additional elements to the iphone element in the tiapp.xml\r\nto allow the user to customize the XCode Project Settings. The\r\nrelevant Titanium scripts would take these into account when\r\ngenerating an XCode project.

\r\n

What Properties Need To Be Exposed

\r\n

I will ask the customer to comment on the specific properties\r\nthey would like exposed.

\r\n

Associated Helpdesk Ticket

\r\n

http://developer.appcelerator.com/helpdesk/view/68641

{html}", "attachment": [ { "id": "23783", "filename": "screenshot-1.jpg", "author": { "name": "rseagraves", "key": "rseagraves", "displayName": "Reggie Seagraves", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-10-20T14:14:36.000+0000", "size": 377114, "mimeType": "image/jpeg" } ], "flagged": false, "summary": "iOS: XCode Project Settings and Base SDK", "creator": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "129827", "author": { "name": "gerrycardinaliii", "key": "gerrycardinaliii", "displayName": "Gerry Cardinal III", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Actually, the Base SDK can probably continue to default to\n\"latest iOS\" or the value of the latest iOS version that a\nparticular release of Titanium is supporting (not sure what\nTitanium is doing now).

\n

The Xcode project build property in question is called \"iOS\nDeployment Target\" and is used to specify the minimum supported\nversion.

{html}", "updateAuthor": { "name": "gerrycardinaliii", "key": "gerrycardinaliii", "displayName": "Gerry Cardinal III", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:34:25.000+0000", "updated": "2011-04-15T03:34:25.000+0000" }, { "id": "162168", "author": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Developers need to be able to set minimum SDK manually without opening Xcode. This feature needs to be added to the tiapp.xml elements.", "updateAuthor": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-08-08T12:00:31.000+0000", "updated": "2011-08-08T12:00:31.000+0000" }, { "id": "162450", "author": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "body": "One use case provided by Enterprise customers is that they need to limit their device testing and app deployment to certain SDKs. Only 4.2 and up for example. This allows them to only test on 4.2 and 4.3 devices. Currently 1.7.2 allows down to 3.1 and they are not interested on deploy on 3.1 devices. Even after 1.8 is released and minimum SDK is bumped to 4.0, iOS 5 will be out and users may want to deploy to 4.1 or 4.2 SDK and up only.", "updateAuthor": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-08-10T11:27:03.000+0000", "updated": "2011-08-10T11:27:03.000+0000" }, { "id": "162812", "author": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "body": "Changed the reporter to Alan, as he is carrying this forward at the moment.", "updateAuthor": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "created": "2011-08-15T08:22:41.000+0000", "updated": "2011-08-15T08:22:41.000+0000" }, { "id": "169927", "author": { "name": "rseagraves", "key": "rseagraves", "displayName": "Reggie Seagraves", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The workaround is to generate your project from Titanium Studio, find and open the generated Xcode project file and change the setting \"iOS Deployment Target\" to the minimum iOS version you want to support for each of the three targets and the generic project target. See attached screenshots. Note that in 1.8 you may set it to any iOS version greater than or equal to 4.0.", "updateAuthor": { "name": "rseagraves", "key": "rseagraves", "displayName": "Reggie Seagraves", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-10-20T14:13:44.000+0000", "updated": "2011-10-20T14:25:51.000+0000" }, { "id": "201444", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "h4. TESTING\r\n----\r\n\r\nFor testing you will need:\r\n\r\n* A new (clean) TiStudio project\r\n* An iOS device with 5.0 or later\r\n* An iOS device with 4.3 or earlier\r\n\r\nh3. Test 1: Version < 4.0 (minimum support)\r\n\r\n# Edit the {{tiapp.xml}} to include the following:\r\n{code}\r\n\r\n 3.2\r\n\r\n{code}\r\n# Clean project\r\n# Build project for simulator (any)\r\n\r\nPASS: Log contains this output:\r\n{code}\r\n[INFO] Minimum iOS version 3.2 is lower than 4.0: Using 4.0 as minimum\r\n[INFO] Minimum iOS version: 4.0\r\n{code}\r\n\r\nFAIL: Log contains this output:\r\n{code}\r\n[INFO] Minimum iOS version: 3.2\r\n{code}\r\n\r\nh3. Test 2: Version > latest (maximum support)\r\n\r\n# Edit the {{tiapp.xml}} to include the following:\r\n{code}\r\n\r\n 9.9\r\n\r\n{code}\r\n# Clean project\r\n# Build project for simulator (5.1)\r\n\r\nPASS: Log contains this output:\r\n{code}\r\n[INFO] Minimum iOS version 9.9 is greater than 5.1 (iphone_version): Using 5.1 as minimum\r\n[INFO] Minimum iOS version: 5.1\r\n{code}\r\n\r\nFAIL: Log contains this output:\r\n{code}\r\n[INFO] Minimum iOS version: 9.9\r\n{code}\r\n\r\nh3. Test 3: Nonsense value\r\n\r\n# Edit the {{tiapp.xml}} to include the following:\r\n{code}\r\n\r\n jeff coolgoldgame\r\n\r\n{code}\r\n# Clean project\r\n# Build project for simulator (any)\r\n\r\nPASS: Log contains this output (may also contain a minimum/maximum warning, but this must appear):\r\n{code}\r\n[INFO] Minimum iOS version: 4.0\r\n{code}\r\n\r\nh3. Test 4: No value\r\n\r\n# Edit the {{tiapp.xml}} to remove the {{}} tag.\r\n# Clean project\r\n# Build project for simulator (any)\r\n\r\nPASS: Log contains this output (and *does not* contain a minimum/maximum or other warning):\r\n{code}\r\n[INFO] Minimum iOS version: 4.0\r\n{code}\r\n\r\nh3. Test 5: iOS 4.0 minimum on device\r\n\r\n# Edit the {{tiapp.xml}} to include the following:\r\n{code}\r\n\r\n 4.0\r\n\r\n{code}\r\n# Clean project\r\n# Build project for device (any)\r\n\r\nPASS: App installs on both pre-5.0 and post-5.0 devices.\r\n\r\nh3. Test 5: iOS 5.0 minimum on device\r\n\r\n# Edit the {{tiapp.xml}} to include the following:\r\n{code}\r\n\r\n 5.0\r\n\r\n{code}\r\n# Clean project\r\n# Build project for device (any)\r\n\r\nPASS: App installs on post-5.0 devices, but *does not* install on pre-5.0 devices. iTunes will issue a warning about needing to update to a later version of iPod software.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-03T15:41:01.000+0000", "updated": "2012-07-05T15:11:18.000+0000" }, { "id": "201701", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR merged https://github.com/appcelerator/titanium_mobile/pull/2505", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-05T15:43:09.000+0000", "updated": "2012-07-05T15:43:09.000+0000" }, { "id": "202520", "author": { "name": "vince", "key": "vince", "displayName": "Vincent ", "active": true, "timeZone": "Europe/Paris" }, "body": "this is a feature I was waiting for.\r\nwe can take advantage of this :\r\nbuilding project for IOS 4.3+ should remove the 'armv6' flag compilation since Apple stops support for this devices in IOS 4.3 and above.", "updateAuthor": { "name": "vince", "key": "vince", "displayName": "Vincent ", "active": true, "timeZone": "Europe/Paris" }, "created": "2012-07-10T23:10:03.000+0000", "updated": "2012-07-11T00:00:04.000+0000" }, { "id": "202652", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Vincent -\r\n\r\nPlease watch TIMOB-9632 and TIMOB-9932. These are our tickets for disabling unnecessary armv6.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-11T09:22:49.000+0000", "updated": "2012-07-11T09:22:49.000+0000" }, { "id": "214608", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Fixed by https://github.com/appcelerator/titanium_mobile/pull/2753 in 2_1_X", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-08-15T11:50:18.000+0000", "updated": "2012-08-15T11:50:18.000+0000" }, { "id": "216951", "author": { "name": "pegli", "key": "pegli", "displayName": "Paul Mietz Egli", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Followed steps to modify tiapp.xml in a new project as per Test 5 above. Built with 2.1.2.v20120824144611.ed7f777 using \"titanium run --platform=iphone\". Build output shows \"Minimum iOS version: 5.0\" but I still see \"IPHONEOS_DEPLOYMENT_TARGET = 4.0\" in the generated project.pbxproj file. Built for device using Titanium Studio 2.1.1.201207271312 and the same SDK as the command line build and still saw 4.0 as the deployment target in the project file. In addition, my app file has an armv6 architecture.", "updateAuthor": { "name": "pegli", "key": "pegli", "displayName": "Paul Mietz Egli", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-29T17:11:18.000+0000", "updated": "2012-08-29T17:11:18.000+0000" }, { "id": "217054", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified feature works as expected with \"run on device\" using SDK 2.1.2.v20120824144611 and the following:\r\nLion - Xcode 4.2\r\nLion - Xcode 4.3.3\r\nLion - Xcode 4.4.1\r\nMountain Lion - Xcode 4.4.1\r\n\r\nAlso verified packaged ipas with ad-hoc provisioning work as expected in Lion and Mountain Lion both with Xcode 4.4.1.\r\n\r\nAs noted by Paul, generated Xcode projects do in fact contain (for packaged and run on device projects) 4.0 as the deployment target. We will verify if transport.py completes successfully. \r\n\r\n@Paul - Track TIMOB-9632 and TIMOB-9932 regarding your armv6 comment, this ticket will make no change to that behavior.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-30T13:27:34.000+0000", "updated": "2012-08-30T13:27:34.000+0000" }, { "id": "217178", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing this bug as the feature is working as deigned. Opening a new bug to track the Xcode project setting issue as well as its effect on transport.py.\r\n", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-31T10:05:42.000+0000", "updated": "2012-08-31T10:05:42.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }