I find the process of getting AppGameKit Player installed on iOS devices to be not well documented (a two sentence readme file) and tedious. I understand a lot of this is not in TGC's control, but other similar development kits have managed to get their 'player' apps approved and released directly on iTunes, perhaps after some direct communication with Apple (i.e.,
Intel App Preview for XDK). Has TGC pursued this matter at all with Apple since 2011?
As it stands, I believe we only have the following two options available to get the AppGameKit Player on iOS devices, both require OS X computers and the entire process has to be repeated each time an AppGameKit update is released. You also need a paid Apple license and have to know how to create app identifiers, provisioning profiles, etc. I realize this is also the requirement for publishing iOS apps, but for a new user just wanting to develop and test on iOS it is a cumbersome ordeal.
Here are my own noted steps to get AppGameKit Player installed on iOS devices from the latest version:
- For Both Methods (On OS X) -
1.) Download the latest Mac version of AppGameKit V2 from TGC My Products page.
2.) Unzip its contents to a folder on your hard drive.
3.) Run AGK2.app.
Note that on default OS X installs, the AppGameKit app will fail to launch because it isn't from the App Store and is from an untrusted source, so the user must first go to Security & Privacy under System Preferences to allow apps downloaded from either Anywhere or Identified Developers.
- Building through AppGameKit IDE -
Before beginning, you have to go through the process of creating an appropriate app identifier and connected provisioning profile for the app from the Apple Developer Portal. You also should then download the provisioning profile and double-click it to install (although the latest Xcode/OS X are pretty good at syncing these automatically). Additionally, you need to have the app icon and splash screen assets for the player, which I found under tier 2 > apps > interpreter_ios (see steps 1-2 in following section to install project files) but only within the Mac version of the AppGameKit product.
1.) From AppGameKit IDE, select Tools > iOS > Export AppGameKit Player.
2.) Fill out the dozen fields with the necessary information. This includes navigating to the directories for the assets, provisioning profile etc.
3.) Click Export and hope that everything, including entitlements, are accurate to generate a valid IPA.
4.) Go through the process of syncing the unpublished IPA with your device, which requires connecting the device via iTunes. For users who never or rarely sync their devices through iTunes, this can lead to an onslaught of headaches and syncing issues.
At the very least, this Export AppGameKit Player command in the AppGameKit IDE should auto-populate every field except the Provisioning Profile data (which itself should be optional for those on jailbroken devices). Users should not have to hunt down or create their own app icon or splash screen data just to compile the player. This information is also not preserved if you close and re-open the IDE, so you get to start all over if needing to rebuild it again.
- Building through Xcode -
To go this route, you need to have all the provisioning/distribution profile details configured, downloaded and installed on your Mac from the Apple Developer Portal. To compile and run directly on the devices and avoid the need to install it via iTunes, you will also need to have the latest XCode version installed that is compatible with your device's iOS version.
1.) From AppGameKit IDE, select Tools > Install Additional Files.
2.) Specify a location for AppGameKit Projects and C++ Libraries and click Install.
3.) Launch Xcode and open the interpreter_ios project buried in the C++ libraries directory installed previously.
4.) Change the bundle identifier (Target > Info) to one that matches what you've configured for provisioning profiles
5.) Change all of the Code Signing Identity data (Target > Build Settings), as they will be Paul Johnston's by default.
6.) With your device plugged in and set to develop on, select Product > Run. If everything is correct it should build and run to the device. However, in my case many times there are some provisioning sync issues so then you have to press 'Fix It' and re-enter your credentials to refresh the provisioning data from Apple's server.
7.) To export as IPA, select Product > Archive. When complete, the Archives view should open (Window > Organizer). Then click 'Export' then either 'Save for Ad Hoc Deployment' or 'Save for Development Deployment' and follow the steps. You'll need to ensure you have the proper provisioning/distribution profiles synced from Developer Portal.
When going this route, I think that the Code Signing Identity data could, by default, be set to Automatic rather than explicitly Paul's information to alleviate some need of manually changing this in Xcode.
I just wanted to share my thoughts and also the brief process of how to get the player installed on iOS devices. It still would be great if this would some day be available on the App Store (even though it would take a week to get updated) and I think it'd open the doors to many more new iOS developers.