{ "id": "61680", "key": "TIMOB-1048", "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": [], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2011-04-15T02:42:32.000+0000", "created": "2011-04-15T02:42:29.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "device", "ios", "iphone", "mac", "osx", "provisioning", "snowleopard" ], "versions": [], "issuelinks": [], "assignee": { "name": "rseagraves", "key": "rseagraves", "displayName": "Reggie Seagraves", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-09T21:23:48.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}

Titanium Developer fails to detect my iPhone and Provisioning\nProfile, when I try to do Run on Device -> iPhone.

\n

Please see attached screenshot.

\n

I can build and run the app without problems in XCode, so the\nphone, iPhone SDK and provisioning stuff should be in order. These\nare the relevant software versions:

\n\n
\n$ /Library/Application\\ Support/Titanium/mobilesdk/osx/1.3.0/iphone/prereq.py project\n{\"success\":true, \"sdks\":[\"3.1\",\"3.1.2\",\"3.1.3\",\"3.2\"],\"ipad\":true}\n\n$ xcodebuild -showsdks\nMac OS X SDKs:\n    Mac OS X 10.5                   -sdk macosx10.5\n    Mac OS X 10.6                   -sdk macosx10.6\n\niPhone OS Device SDKs:\n    Device - iPhone OS 3.0          -sdk iphoneos3.0\n    Device - iPhone OS 3.1          -sdk iphoneos3.1\n    Device - iPhone OS 3.1.2        -sdk iphoneos3.1.2\n    Device - iPhone OS 3.1.3        -sdk iphoneos3.1.3\n    Device - iPhone OS 3.2          -sdk iphoneos3.2\n\niPhone OS Simulator SDKs:\n    Simulator - iPhone OS 3.0       -sdk iphonesimulator3.0\n    Simulator - iPhone OS 3.1       -sdk iphonesimulator3.1\n    Simulator - iPhone OS 3.1.2     -sdk iphonesimulator3.1.2\n    Simulator - iPhone OS 3.1.3     -sdk iphonesimulator3.1.3\n    Simulator - iPhone OS 3.2       -sdk iphonesimulator3.2\n
\n

What could be the issue here?

\n

Thanks,
\nHugo

{html}", "attachment": [ { "id": "17917", "filename": "run-on-device-iphone-fails-to-detect.png", "author": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:30.000+0000", "size": 62159, "mimeType": "image/png" } ], "flagged": false, "summary": "Run On Device doesn't detect my iPhone and Provisioning", "creator": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "124685", "author": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

This may or may not be related to the fact that I get dead links\nin the UI. Reported as separate issue #1050.

{html}", "updateAuthor": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:30.000+0000", "updated": "2011-04-15T02:42:30.000+0000" }, { "id": "124686", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

can you paste the output of

\n

/Library/Application\\\nSupport/Titanium/mobilesdk/osx/1.3.0/iphone/prereq.py package

\n

also? that's the one that prints out your correct provisioning\nprofile info we use to populate.

\n

also, are you running 1.3 just to double check the version?

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:30.000+0000", "updated": "2011-04-15T02:42:30.000+0000" }, { "id": "124687", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

one more thing, in your screen shot, the certs inside Developer\naren't correctly checked.

\n

Just curious, did you previously have certs installed before\nTitanium and not install them via titanium?

\n

if so, try and click the \"Upload..\" link and select your cert.\nTitanium will then note them in its internal DB - and this is safe\nif you already have them installed in Organizer - will just let us\nknow that you have them and the proper names.

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:30.000+0000", "updated": "2011-04-15T02:42:30.000+0000" }, { "id": "124688", "author": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Hi Jeff! Thanks for getting back to me. Here's the output:

\n
\n$ /Library/Application\\ Support/Titanium/mobilesdk/osx/1.3.0/iphone/prereq.py package\n\n{\"wwdr\":true,\"ipad\":true,\"sdks\":[\"3.1\",\"3.1.2\",\"3.1.3\",\"3.2\"],\"iphone_dev_name\":[\"Hugo Josefson (2XHRP877F6)\"],\"iphone_dist_message\":\"Missing iPhone Distribution Certificate\",\"wwdr_message\":null,\"itunes_message\":null,\"itunes\":true,\"iphone_dev_message\":null,\"iphone_dev\":true,\"iphone_dist\":false,\"itunes_version\":\"9.1.1\"}\n
\n

\"Missing iPhone Distribution Certificate\" doesn't sound\ngood...

\n

Yes, I'm using 1.3.0.

\n

And also yes, I installed the certificates outside of Titanium,\nboth before installing Titanium and also reinstalled Titanium\ncompletely afterwards to test. (Including deleting\n~/Library/Application Support/Titanium)

\n

I have filed a separate issue for all the links being incorrect:\n#1050. This means that even the Upload link\ndoesn't work right.

\n

The Install Now button seems to be disabled, or it only does\nsomething quietly in the background.

\n

Please advice.

\n

Thanks,
\nHugo

{html}", "updateAuthor": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:31.000+0000", "updated": "2011-04-15T02:42:31.000+0000" }, { "id": "124689", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

Weird. so this says you don't have a distribution cert but\nyou're saying you've got one right?

\n

Just to be sure ... there's 2 types of certifications. A\ndevelopment certificate and a distribution certificate. You'll need\nboth. I assume that you already know this given your comment above\nthat you can run in XCode. :)

\n

If we're not detecting this, that means something weird in your\nkeychain or something. Do you have multiple keychains by\nchance?

\n

We simply run security -dump-keychain

\n

And grep (sort of) for \"iPhone Distribution\" and pull our your\ndetails.

\n

What do you get when you run this command:

\n
\n

security dump-keychain | grep \"iPhone \"

\n
{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:31.000+0000", "updated": "2011-04-15T02:42:31.000+0000" }, { "id": "124690", "author": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Right. No, I think I only have the Developer cert. Don't count\ntoo much into me sounding confident :) I'm really new to all this\niPhone stuff. I only really started to deploy to iPhone because the\nFacebook module in Titanium isn't ported to Android yet.

\n

When I say I can build and run the app in XCode, I reconfigure\nthe XCode project to sign with \"iPhone Developer\" instead of\n\"iPhone Distribution\". I have a provisioning profile though, which\nmakes it possible for me to try the app on any of our iPhones\nlisted in the profile. In my humble opinion, Titanium should at\nleast make it possible for me build and run the app on the iPhone I\nhave connected to my iTunes, even without a Distribution cert,\nbecause I don't need one when doing the same thing in XCode.

\n

I only have one keychain, I think. The only thing I have done\nwhich has to do with different keychains, is that when I installed\nApple's intermediate cert (or whatever it was called; their\ncertificate from their CA), I chose to put it in the system\nkeychain.

\n

When I run security dump-keychain | grep \"iPhone \"\nI only see \"iPhone Developer\" and no \"iPhone Distribution\". Since\nI'm not sure what all bytes in the output really contains, I'm\nreluctant to posting the exact output publicly.

\n

Here's the gist of it though:

\n
\n$ security dump-keychain|grep \"iPhone \"\n\n    \"alis\"<blob>=\"iPhone Developer: Hugo Josefson (XXXXXXXXXX)\"\n\n    \"labl\"<blob>=\"iPhone Developer: Hugo Josefson (XXXXXXXXXX)\"\n\n    \"subj\"<blob>=0x..........[a-bunch-of-stuff]..........,iPhone Developer: Hugo Josefson (XXXXXXXXXX)..........[more-stuff]..........\"\n
\n

Will I really need a distribution cert? And should I have to (in\npossible future versions of Titanium)?

\n

Thanks for debugging with me,
\nHugo

{html}", "updateAuthor": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:31.000+0000", "updated": "2011-04-15T02:42:31.000+0000" }, { "id": "124691", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

OK - yeah, this means you simply have a developer cert. This\nmeans you can
\nrun only on device for testing - but not for distribution. You'll\nneed a
\nseparate certification for distribution. However, this means you\nshould be
\nable to do all your testing on device - you just can't submit it to\nthe
\nappstore for approval until you get a distribution certificate.

\n

I'm going to forward this to our support guys who see this type\nof stuff
\nmore than me...

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:31.000+0000", "updated": "2011-04-15T02:42:31.000+0000" }, { "id": "124692", "author": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Yes, that was my plan. Someone else will have to submit to\nAppStore when it's time.

\n

I hope the support guys can help me figure out how to get it to\ninstall on device :)

\n

Thank you for your help so far,
\nHugo

{html}", "updateAuthor": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:31.000+0000", "updated": "2011-04-15T02:42:31.000+0000" }, { "id": "124693", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

here's what they said:

\n

so I think he just needs to click the upload link on the 'run on\ndevice' screen to give Developer his provisioning profile. it\nsounds like he's installed his profile via XCode Organizer, but he\nneeds to upload it to Developer as well (that's how we pass it to\nxcodebuild)

\n

which is what i thought (mentioned above).

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:31.000+0000", "updated": "2011-04-15T02:42:31.000+0000" }, { "id": "124694", "author": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Wow! This is so strange. I could have sworn I clicked the\nUpload link before, but now it prompts for the\nProvisioning Profile file just as you say. Apparently I made a\nmistake before with that (at least twice!)...

\n

After having selected the Provisioning Profile, the UI changes\nand I am able to install to device successfully.

\n

You can close this issue now.

\n

Thank you so much for your patience and help!
\n/Hugo

{html}", "updateAuthor": { "name": "hugojosefson", "key": "hugojosefson", "displayName": "Hugo Josefson", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:32.000+0000", "updated": "2011-04-15T02:42:32.000+0000" }, { "id": "124695", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

Hey no problem! thanks for your patience working through it.\nglad you got it working.

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:42:32.000+0000", "updated": "2011-04-15T02:42:32.000+0000" }, { "id": "410553", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as invalid.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-09T21:23:48.000+0000", "updated": "2017-03-09T21:23:48.000+0000" } ], "maxResults": 12, "total": 12, "startAt": 0 } } }