{ "id": "93113", "key": "TIMOB-9505", "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": "13572", "description": "Release 2.1.1", "name": "Release 2.1.1", "archived": true, "released": true, "releaseDate": "2012-07-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-08-03T13:48:50.000+0000", "created": "2012-06-12T14:29:05.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "SupportTeam", "core" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" } ], "issuelinks": [ { "id": "18457", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "94670", "key": "TISTUD-1882", "fields": { "summary": "iOS: Allow keychain selection", "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": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-08-03T13:48:50.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": "Currently, even when we set the default keychain to the separate keychain in OS X, codesign will still look at not only the separate keychain but also the default login keychain. \r\n\r\nThe codesign man pages say that we are allowed to pass an argument with the keychain that we would like to use and codesign will only look at that keychain.\r\n\r\nIt has been requested to add a new feature to have the ability to select the desired keychain from command line through builder.py.", "attachment": [], "flagged": false, "summary": "iOS: New feature to add ability to choose keychain at codesign", "creator": { "name": "vjoshi", "key": "vjoshi", "displayName": "Varun Joshi", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "vjoshi", "key": "vjoshi", "displayName": "Varun Joshi", "active": true, "timeZone": "America/New_York" }, "environment": "Platform OS: iOS", "comment": { "comments": [ { "id": "202248", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "h4. TESTING\r\n----\r\n\r\n# Create a new Keychain in \"Keychain Access\" and name it \"test\". Any password is OK.\r\n# Copy your existing 'iPhone Developer' and 'iPhone Distribution' certificates and then Paste (DO NOT DRAG) them into the new keychain. Dragging moves them to the new keychain - pasting puts a reference in it.\r\n# *Make sure* that the keychain is \"locked\" by clicking the lock button in the upper-left if necessary.\r\n# Create a new app in TiStudio which you have both developer and distribution/packaging credentials for.\r\n\r\nIn order to get the correct command-line invokes for your created app, you will want to do the following in Studio:\r\n\r\n# Go to Preferences -> Titanium Studio -> Troubleshooting\r\n# Select debug level \"All\"\r\n# Click \"Debug specific components\"\r\n# Uncheck all components EXCEPT for {{com.aptana.core/debug/shell}}\r\n# Apply changes\r\n\r\nWITHOUT SPECIFIED KEYCHAIN:\r\n\r\n# Build for device in TiStudio\r\n# Build for distribution in TiStudio\r\n\r\nPASS: App builds\r\n\r\nWITH SPECIFIED KEYCHAIN:\r\n\r\nTo do this, for now you will need to run the builder.py manually from the command line. Studio does not support keychain selection yet; this is a separate feature request that will be filed with them and then linked from this ticket.\r\n\r\nIn order to get the correct invoke line, you will need to have enabled Studio's shell logging, but the ticket includes templates. You can get you invoke line by:\r\n\r\n# In Studio, go to Help -> Titanium Studio -> View Log File\r\n# Find a builder.py invoke for the project (either \"install\" or \"distribute\" command). If you performed the last test just before this one, they should be at the bottom of the file.\r\n\r\nNow you will want to get your keychain file. In the terminal, run\r\n\r\n{code}\r\nsecurity list-keychains\r\n{code}\r\n\r\nAnd copy the path to your keychain file that you just created.\r\n\r\nFrom the console, you will want to run an invoke similar to the following:\r\n\r\n{code}\r\n\"/usr/bin/python\" \"/Users/stiv/Library/Application Support/Titanium/mobilesdk/osx/2.1.0/iphone/builder.py\" \"install\" \"5.1\" \"/Users/stiv/Documents/Titanium Studio Workspace/temp\" \"com.appcelerator.temp\" \"temp\" \"C4D93DB0-3102-4CB1-972A-3DBAC291D341\" \"Stephen Tramer (E434A5798Q)\" \"universal\" \"/Users/stiv/temp.keychain\"\r\n{code}\r\n\r\nIf the correct keychain is being used, you should be presented with a dialog box to unlock the \"temp\" keychain which you created. You will also want to run the \"distribute\" command in addition to \"install\", which *does* take different arguments. Check the studio logs again to get the correct invoke.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-09T17:17:44.000+0000", "updated": "2012-07-11T09:50:29.000+0000" }, { "id": "207757", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[PR 2575|https://github.com/appcelerator/titanium_mobile/pull/2575] merged in for 2_1_X branch", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-16T11:43:01.000+0000", "updated": "2012-07-16T11:43:01.000+0000" }, { "id": "210861", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Varun to close - email sent", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-31T15:21:15.000+0000", "updated": "2012-07-31T15:21:15.000+0000" }, { "id": "210865", "author": { "name": "vjoshi", "key": "vjoshi", "displayName": "Varun Joshi", "active": true, "timeZone": "America/New_York" }, "body": "Closing this issue", "updateAuthor": { "name": "vjoshi", "key": "vjoshi", "displayName": "Varun Joshi", "active": true, "timeZone": "America/New_York" }, "created": "2012-07-31T15:34:44.000+0000", "updated": "2012-07-31T15:34:44.000+0000" }, { "id": "211110", "author": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Should this work with the \"adhoc\" command as well?", "updateAuthor": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-08-01T16:18:43.000+0000", "updated": "2012-08-01T16:18:43.000+0000" }, { "id": "211336", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Yes it should work for adhoc command as well. ", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-02T17:31:10.000+0000", "updated": "2012-08-02T17:31:10.000+0000" }, { "id": "211427", "author": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Yes you're correct Sabil", "updateAuthor": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-08-03T13:47:01.000+0000", "updated": "2012-08-03T13:48:34.000+0000" }, { "id": "211428", "author": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Reopen to edit spelling error", "updateAuthor": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-08-03T13:48:18.000+0000", "updated": "2012-08-03T13:48:43.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }