Create an IPA in XCode 4 for TestFlight

It took me a very long time to get a usable IPA out of XCode 4 that works with TestFlight so I thought i'd share the info incase anyone else can't get it to work!

This tutorial assumes you've generated your Ad Hoc distribution profile and have it installed on your machine. If you haven't done that yet, do it first.

Here we go:

Entitlements

  1. Right click on your Resources folder and select New File. Select the "Entitlements" file under "Code Signing" and on the next page call it "Entitlements.plist", then hit Save.
  2. There has been a lot of talk about what entries are needed in this file but I have found that I didn't have to touch anything the entry "Can be debugged" is left in its default YES state.

Project Settings

  1. Goto the project settings for your app
  2. In the left hand column click on the entry under PROJECT and select the info tab, you should see a list of Configurations such as "Debug" and "Release".
  3. Click on the little plus sign under the configurations and select "Duplicate Release Configuration", name the new configuration "Ad Hoc".
  4. In the left hand column again click on the entry under TARGETS which should flick you automatically to the build settings tab, if it doesnt just make sure you have selected it and goto the build settings tab.
  5. Now find and expand the item "Code Signing Identity" and under the "Ad Hoc" name change the provisioning profile to your ad hoc distribution profile.
  6. Look for and expand the "Code Signing Entitlements" item to find your new profile "Ad Hoc" again, set "Entitlements.plist" as the value.

Archive Scheme (this had me going for hours)

  1. At the top of the toolbar where you normally select your build target (iOS Device, iPhone Simulator, iPad Simulator etc) drop that menu down and select "Edit Scheme...".
  2. On the left hand side select the "Archive" scheme and then select "Ad Hoc" in the "Build Configuration" drop down and hit ok.

Creating an IPA

  1. You can now select "iOS Device" or your device name as your build target and select "Archive" from the main "Product" drop down which will in turn popup the organiser showing your new archive.
  2. From here click the "Share..." button, select "iOS App Store Package (.ipa)", make sure your Ad Hoc distribution provision is selected in the drop down list and hit next.
  3. Now you just save the ipa somewhere and upload it as normal to Test Flight...

Good luck!

 

Create an IPA in XCode 4 for TestFlight

It took me a very long time to get a usable IPA out of XCode 4 that works with TestFlight so I thought i’d share the info incase anyone else can’t get it to work!

This tutorial assumes you’ve generated your Ad Hoc distribution profile and have it installed on your machine. If you haven’t done that yet, do it first.

Here we go:

Entitlements

  1. Right click on your Resources folder and select New File. Select the “Entitlements” file under “Code Signing” and on the next page call it “Entitlements.plist”, then hit Save.
  2. There has been a lot of talk about what entries are needed in this file but I have found that I didn’t have to touch anything the entry “Can be debugged” is left in its default YES state.

Project Settings

  1. Goto the project settings for your app
  2. In the left hand column click on the entry under PROJECT and select the info tab, you should see a list of Configurations such as “Debug” and “Release”.
  3. Click on the little plus sign under the configurations and select “Duplicate Release Configuration”, name the new configuration “Ad Hoc”.
  4. In the left hand column again click on the entry under TARGETS which should flick you automatically to the build settings tab, if it doesnt just make sure you have selected it and goto the build settings tab.
  5. Now find and expand the item “Code Signing Identity” and under the “Ad Hoc” name change the provisioning profile to your ad hoc distribution profile.
  6. Look for and expand the “Code Signing Entitlements” item to find your new profile “Ad Hoc” again, set “Entitlements.plist” as the value.

Archive Scheme (this had me going for hours)

  1. At the top of the toolbar where you normally select your build target (iOS Device, iPhone Simulator, iPad Simulator etc) drop that menu down and select “Edit Scheme…”.
  2. On the left hand side select the “Archive” scheme and then select “Ad Hoc” in the “Build Configuration” drop down and hit ok.

Creating an IPA

  1. You can now select “iOS Device” or your device name as your build target and select “Archive” from the main “Product” drop down which will in turn popup the organiser showing your new archive.
  2. From here click the “Share…” button, select “iOS App Store Package (.ipa)”, make sure your Ad Hoc distribution provision is selected in the drop down list and hit next.
  3. Now you just save the ipa somewhere and upload it as normal to Test Flight…

Good luck!

If i did it

I just remembered that I once wrote a list of benefits that I would offer to my team if I ever made a startup.

They were:

  • Free Food
  • True FlexiTime
  • Inspiring office
  • Work with the best people we can find
  • Have the best tech money can buy
  • Better than average holiday
  • Option of working environment
  • Free gym / health care
  • Unrestricted conferences (especially if you want to talk)

I’ts only just hit me that the company I work for now (Forward) offers nearly all of it and I seem to have naturally gravitated into it without even knowing! 

A New Game

With the advent of the Mac App Store I think there is a great opportunity to boost the gaming environment of OSX. With that in mind I plan to start developing a new title and will need some help.

With myself being a programmer, In the initial stages I need to get hold of some hot artistic talent to help partner with me in the game design, draw up concept art and some initial prototype game art.

If you would like to help out then please get in touch and we can talk about things in more detail.

Right tool for the job

I had a C win recently. Allocating 26+10 to the power of 6 of objects using 1.5 million lines from a csv using the JVM failed with a 6 minute startup time and eventually a weird Garbage collection exception. I guess with some further digging and warping of the startup flags i might have been able to freak it into working.

As an experiment I knocked up the same behaviour in C and wrapped it with ruby. This prevailed with a 3 second startup time and no weird errors. Impressed with these results, this became the foundation of some new production code.

So that got me thinking…

Now we have things like Clang and Go which have super fast compile times i’m starting to personally see less of a need for intermediate technologies that allow rapid development by using processes such as JIT. I think they were a great stepping stone to where we needed to get too today but we have Python, Ruby, Javascript and Lua, all of which are very easy to express a problem in, are garbage collected and dont necessarily have to be compiled to run. This is great for everyday development. On days of exception all of these languages hook into C & C++ allowing significantly increased efficiency and portability.

So i’m going to give this a go for a while: embrace the script, where that falls down go native. If all else fails use byte compiled.