Tom Whipple

Archive for the 'iPhone' Category

iPhone code signing problems

Tuesday, November 11th, 2008

As many developers have figured out by now, iPhone code signing is unnecessarily difficult. To make matters worse, it doesn’t sound like Apple is very responsive to their developers. (In my case they have yet to get back to me after two days.) A couple of key points:

  1. In the main XCode screen, highlight Targets->AppName, and click the info button. Under Build, the “Code Signing Identity” must exactly match the certificate name from the certificate manager.

    An Open Question: Does this value get inherited from the project values?

  2. The Resources->info.plist file must have the correct app id. In my case
    com.tomwhipple.${PRODUCT_NAME:identifier}

A couple of more detailed discussions:

  • 24100.net (very detailed and helpful)
  • Apple (a developer discussion thread)

Configuring CVS for Apple’s XCode projects

Saturday, October 11th, 2008

Apple ostensibly has integrated CVS & SVN as version control into XCode. But in XCode 3.1.1 the CVS integration is very poor. The problem seems to be the project/build directory where XCode keeps binaries. This directory appears to be generated from all the other files, so the solution seems to be to leave it out of CVS.

These steps seem to work:

  1. Make sure the repository is set up. (See Apple’s instructions or better yet, the CVS manual) This includes defining the repository under SCM in XCode.
  2. Create the project in a temporary directory as normal in XCode.
  3. Go to SCM>Configure SCM for this project. Choose your repository and click OK.
  4. Go to Build>Clean All Targets.
  5. Close the project window.
  6. Go to the project directory in the Finder and delete the contents of the “build” directory.
  7. In XCode, go to SCM>Repositories tool.
  8. Click “Import” and import the temporary project directory into CVS.
  9. Click “Checkout” and choose the directory where you will do your work. (This is NOT the temporary project directory you created in step 2.)
  10. XCode will ask you if you want to open the project when it is done with the checkout. If the checkout directory structure looks good, you should delete the temporary directory.

NOTE: If some subset of the builds directory shows up under the SCM tool on the left of the project tab, go to SCM>Refresh Entire Project BEFORE the build directory gets commited.
NOTE 2: If the build directory gets commited by mistake, delete it from the repository, the local directory structure, and the corresponding entry in the projectdir/CVS/Entries file.

mail@tomwhipple.com
612-220-1465