Update 6/13/2014: Fixed instructions to support XCode 5.1.1
Update 11/4/2015: Fixed filename of the entitlements file (use hyphens, not underscores)
We use PhoneGap Build to compile a number of iOS apps. It saves us the complexity of setting up and maintaining XCODE/PhoneGap build environments. We simply upload our web code and corresponding configuration files and get back an .ipa file ready for distribution.
One of our clients uses the app we build for in-house enterprise deployment. They need a copy of the .ipa file signed with their Enterprise certificate and their provisioning profile. They said “please just provide us an .xcarchive file so we can open it in the XCODE Organizer and distribute it.” But all we get from PhoneGap Build is an .ipa file. So what do we do?
The new VS2010 Web Deployment model is very powerful. It allows you to setup all your configuration and then use one-click publish to load your web application (or just the diffs) up to your server. Scott Hanselman gave a great talk on this at MIX that I highly recommend — http://www.hanselman.com/blog/WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong.aspx
Under the covers, this is all using MSDeploy which adds all sorts of power to run commands, set ACLs, etc. Put exactly *how* to do this is not documented very well and I spent many a frustrating hour working on one simple task. How do you make the web deploy process grant the Application Pool Identity access to a modify a specific directory? Since the built in deployment resets all the permissions to Read-only, you have to figure this out or you have to manually change it every time.