Code signing Identity INSANITY!

Discussion in 'iOS Programming' started by twallick.docsys, Sep 13, 2008.

  1. twallick.docsys macrumors newbie

    Joined:
    Sep 12, 2008
    #1
    I have gone through the provisioning steps more times than I can count and I have yet to be able to pick the Code signing identity.

    I have spent 5 days trying every half baked "This is how I solved the problem" I could find.

    Before I go any more insane (doing the same thing over and over expecting a different result), I need to ask...

    Beyond paying the $100 and getting an e-mail receipt, is something else supposed to happen on Apple's side before I can select the code signing certificate and compile to my physical IPhone? Or is it just supposed to be working.

    I only ask because I'm seeing posts about people waiting to be approved? If I'm waiting where can I find my current approval status?
     
  2. forcesteeler macrumors 6502

    Joined:
    Oct 1, 2007
    #2
    Im having the same problem.

    I made sure my all my certificates are in keychain. and My app will not sign at all!!!
     
  3. dougdawson macrumors member

    Joined:
    Aug 24, 2008
    Location:
    Austin, TX
    #3
    You have to pay your hundred bucks before you can do ANYTHING on the device. Pay the money and take your chances.

    (I can't confirm or deny that) there is a very detailed pdf manual available to you once pay the money, that you must follow in excruciating detail in order to get things working. One step out of place, and you're screwed.

    Doug
     
  4. musketball macrumors newbie

    Joined:
    Sep 13, 2008
    #4
    That is exactly right.
     
  5. forcesteeler macrumors 6502

    Joined:
    Oct 1, 2007
    #5
    So what do we do?
     
  6. dougdawson macrumors member

    Joined:
    Aug 24, 2008
    Location:
    Austin, TX
    #6
    Follow the steps in excruciating detail. Everything else is just voodoo.

    Doug
     
  7. tyr2 macrumors 6502a

    tyr2

    Joined:
    May 6, 2006
    Location:
    Leeds, UK
    #7
    A quick checklist:

    * Create a iPhone development certificate (create a CSR and get it signed in the portal)
    * Download the WWDR intermediate certificate and double click it to install into keychain
    * Download the signed development certificate and double click it to install into keychain
    * Add the device into the portal with the UUID
    * Create a (wildcard) app id
    * Create a development provisioning profile
    * Download the development provisioning profile and drag it into the 'provisioning' section of the Organizer in Xcode
    * In your project settings set the 'Code Signing Identity -> Any iPhone OS' settings to 'iPhone Developer: FirstName LastName', the space between 'Developer:' and 'FirstName' is important. This should match the common name of your development certificate
    * You should now be able to select the 'Code Signing Provisioning Profile', if not quit XCode and reload it and see if it then appears.
    * Select 'Device' for active sdk
    * Build and Go..
     
  8. twallick.docsys thread starter macrumors newbie

    Joined:
    Sep 12, 2008
    #8
    I paid my $100 and followed all the steps word for word. I messaged tech support and phoned tech support and got an escalation on day 1. Its now day 6 and have heard or received nothing about the matter.

    So far I'm getting the impression that a blew yet another $100 and the purpose for which I spent $1000+ on an IMac just because 1 of those steps might have gotten cocked up somehow.

    Surly I'm just waiting for some kind of acceptance notification or something to arrive via snail mail. Did any of you (that are able to select a signing identity) get something beyond an Email recipt?
     
  9. forcesteeler macrumors 6502

    Joined:
    Oct 1, 2007
    #9
    Ok i got it to work now.

    But when i build the project in the simulator it works but then when i build it onto the device. (Device Build) I get this error??

    /bin/sh -c "\"/Users/Damencio/Desktop/AirportCodes(RTM Release)/build/AirportCodes.build/Distribution-iphoneos/AirportCodes.build/Script-EEC7C5000E781C2E00A71330.sh\""
    /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python: can't open file '/Users/saurmanhome/Desktop/gen_entitlements.py': [Errno 2] No such file or directory
    No such file or directory
     
  10. TonyHoyle macrumors 6502a

    Joined:
    Sep 14, 2007
    Location:
    Manchester, UK
    #10
    gen_entitlements.py is a jailbreak script. It's got nothing to do with the SDK and doesn't work on an unjailbroken phone.

    Your project needs regenerating with a proper iphone SDK project, otherwise it won't work - there are a number of steps that xcode does that are not in the jailbreak SDK. Also the headers it uses are different - if you use the wrong ones your app will be rejected.
     
  11. TonyHoyle macrumors 6502a

    Joined:
    Sep 14, 2007
    Location:
    Manchester, UK
    #11
    You also get the activation code, which presumably you already have otherwise you wouldn't have been able to get onto the portal to read the documentation in the first place :p
     
  12. twallick.docsys thread starter macrumors newbie

    Joined:
    Sep 12, 2008
    #12
    Seeing is believing, so I screen shot every step and made a blog page.
     
  13. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #13
    After being accepted into the paid program, you have to be able to download around a minimum of 4 different certificates or profiles from the Apple site (and you may need to download several more, depending on what you plan on doing with your apps).

    If you've unsuccessfully tried to provision or build several time, you could have screwed up your SDK environment, keychain or mobile provisions directory somewhere in the process. Try a complete reinstall of iTunes, the Developer tools and a fresh download of the SDK, and delete any previous keychain or mobile provision additions before starting all over again.

    If you miss any one of around a couple dozen exacting steps, your app won't build or run on the device. There are also possibly steps where certain portions of documentation might be contradictory. You may have to try multiple paths. There may be a step or two where you have to leave out your name, or some non-wildcard characters, even though they are included somewhere in some (old?) copy of the documentation. Or this may have changed again for 2.1.

    There must be some step that is really easy to miss or screw up, or maybe even dependent on the phase of the moon. I've built several apps several times; most provision instantly, but every dozenth time or so, I've had to waste at least an entire day or two trying to figure out how to provision a project from scratch to get it to build properly. (It was something like one wrong punctuation character, or forgetting to delete all copies of some obsolete provision file from every possible directory where it got put by the tools).
     
  14. Mac Me Up macrumors regular

    Joined:
    Jun 25, 2005
    Location:
    Australia
    #14
    Your keychain certificates look like you're missing your private keys? I can't quite tell from your screenshot on your blog because you've cropped it a bit too tightly on the left hand side.

    Just in case: If you're working on more than one machine you need to export these out, the way you know if you have them is you should be able to expand your keychain certificates eg:
    > iPhone Distribution: Your Company Name
    ....[picture of a key] Your Company Name
    > iPhone Developer: Your Company Name
    ....[picture of a key] Your Company Name

    If you can't expand either of these certificates in keychain, then your private keys are definately missing. This stumped me a while ago...
     
  15. Luke Redpath macrumors 6502a

    Joined:
    Nov 9, 2007
    Location:
    Colchester, UK
    #15
  16. twallick.docsys thread starter macrumors newbie

    Joined:
    Sep 12, 2008
    #16
    Didn't work

    Didn't work

    I guess 20 years of writing windows software,win mobile and palm os software makes me too STUPID to follow the documentation correctly enough to do a simple distribution of a hello world to my stinking IPHONE!!!!
    Never have I had such a bad time distributing to a mobile device than I have had with the IPhone.

    Is there a way to circumvent or force the code signing provisioning profile to be what it's supposed to be?
     
  17. forcesteeler macrumors 6502

    Joined:
    Oct 1, 2007
    #17
    Remember do not build it with the distribution only the "release".

    I had to learn the hard way. I spent 3 days busting my brains trying to figure why my app won't install on the Iphone
     
  18. twallick.docsys thread starter macrumors newbie

    Joined:
    Sep 12, 2008
    #18
    Did not work.
    I started completely from scratch.
    -Re installed my IMAC and IPhone to factory out of the box. loosing all bookmarks contacts ECT. All gone starting over.
    -Followed every step to the LETTER. I skipped nothing.

    Still I cannot pick a provisioning profile. I'M :mad:*@#^$!!!:mad:
    Why is everyone else so effortlessly able to do this?

    It can't be on my side it must be on Apples side. probably gave me a bogus team setup.

    I just wish Apple would respond to 1 of my 3 support requests.
     
  19. rjacksonb macrumors newbie

    Joined:
    Jul 1, 2007
    #19
    I had the same problem, i.e., my provisioning profile would not show up in the list for Code Signing Provisioning Profile. I started the Keychain Access app, selected Certificates on the left, and found that there were two certificates listed for "iPhone Developer: Jack Benimble", the first being an old one that had been revoked and the second being the correct one. So, I deleted the old certificate, went back into Xcode, and now my provisioning profile was listed.

    Jack
     
  20. tyr2 macrumors 6502a

    tyr2

    Joined:
    May 6, 2006
    Location:
    Leeds, UK
    #20
    One other thought, make sure you set your active sdk to a 'Device' rather than a 'Simulator', it won't let you pick it otherwise.
     
  21. davedelong macrumors member

    davedelong

    Joined:
    Sep 9, 2007
    Location:
    Right here.
    #21
    I was having the same issues as most in this thread, until I found the Organizer window in the Window menu of Xcode.

    I had previously hooked up my iPod to my computer, and told Xcode to NOT use it for development. In the Organizer window, it'll list your iPod/iPhone (assuming it's plugged in) and there'll be a button titled "Use for development" (or something close to that). Clicking that button got things working for me.

    Dave
     
  22. twallick.docsys thread starter macrumors newbie

    Joined:
    Sep 12, 2008
    #22
    Dev support got with me on a remote session Friday.
    What was going wrong was the Dev and deployment keys were going into the key chain without the public and private pairs. This can be seen in the certificate section of the keychain. If the certs you load into the keychain do not appear hear or if they are there and clicking the grey arrow doesn't show the private public pair then something went wrong. Apperently the keychain doesnt allways do what its supposed to do.

    Dev cert
    -in keychain delete the certs from the log in section
    -in Keychain request a certificate from authority save to disk
    -in portal/certificate/developer add and choose the file from previous step
    -in portal/certificate/developer Download and double click the file to add it to the keychain
    -in keychain verify the certificate is in the certificate section and has both public and private pairs if it does then you are good on the dev certificate. If it doesn't delete the key from keychain and ond portal then try again.

    Deployment cert
    -in Keychain request a certificate from authority save to disk overwrite the one from the Dev section
    -in portal/certificate/Deployment add and choose the file from previous step
    -in portal/certificate/Deployment Download and double click the file to add it to the keychain
    -in keychain verify the certificate is in the certificate section and has both public and private pairs if it does then you are good on the deployment certificate.If it doesn't delete the key from keychain and ond portal then try again.

    Use the keychain utility to backup these 2 keys.

    The rest of the documented procedures will now work.

    Yup gotta do this too.

    This concludes my Code signing Identity INSANITY! **There is much rejoycing**
     
  23. mcannell macrumors member

    Joined:
    Dec 20, 2008
    #23
    Make sure you changed

    iPhone Developer: FirstName LastName

    to

    iPhone Distribution: WhateverMatchesYourNameInKeychainAccess

    then you can select the Distribution Provisioning Profile
     
  24. iphonejudy macrumors 6502

    iphonejudy

    Joined:
    Sep 12, 2008
    #24
  25. Bungler macrumors newbie

    Joined:
    Jan 29, 2009
    #25
    I am also having a code signing issue. If there is a more appropriate thread to post to, please let me know.

    I have 2 certs, each having a valid private/public key pair. I also have the Apple Worldwide Developer Relations Certification Authority cert listed in keychain with the others. I constructed a completely new application and did not build it until i was ready to test the code signing. I was sure to duplicate the release configuration in xcode and changed the code signing section in the target info window. I was also sure to make the name of my application a fully qualified application name, without the serial at the beginning and without the wild-card at the end.

    The Organizer in xcode shows my development provisioning profile and the distribution provisioning profile; there are no yellow alert banners, nothing appears to be out of place.

    When I build the application, it works beautifully on the simulator. I check the build results window and there is no section for ProcessingProductPackaging (and therefore no mention of "embedded.mobileprovision") and there is no section there for CodeSign at all. I can only assume that the code is not signed at that point. Moreover, Apple auto-rejects the binary because it is not signed.

    I have also tried manually signing the code. In a terminal window I tried the following command:
    codesign -s "iPhone Distribution" ~/Documents/<project folder>
    ...and got:
    "object file format invalid or unsuitable"
    I tried codesigning the built app also:
    codesign -s "iPhone Distribution" ~/Documents/<project folder>/build/Distribution-iphonesimulator/<project name>.app
    "object file format invalid or unsuitable"
    I tried the following:
    codesign -s "iPhone Distribution" ~/Documents/<project folder>/Info.plist
    Here, at least, it asks for a verify that i want to use the correct key to sign the code with, I click "Allow" and it responds with:
    "Argument list too long".

    This response and the previous one about the invalid object are the 2 messages I get when I try to sign anything in the project window. I admit, I don't really know how this utility works and the instructions on Apple's web site are extremely cryptic in this area.

    I hope I am missing something simple and not running into a problem with the installation. I recently updated to the 2.2.1 iPhone SDK (and all the dev tools that came with it) but this changed nothing. Any help would be appreciated at this point; God only knows how long i will have to wait for Apple support to respond to my email.
    Thanks!

    :confused: :apple: :confused: :apple: :confused: :apple: :confused: :apple: :confused: :apple: :confused: :apple: :confused: :apple: :confused: :apple: :confused: :apple: :confused: :apple:
     

Share This Page