gE iPhone Tutorial(s)
Posted: Fri Mar 11, 2011 9:42 am
I now have 1000 posts, and to celebrate here's a guide on how to get yourself making and submitting apps on the store. I found many of the guides online were either outdated or unclear, and the apple ones were all broken apart, so here is an attempt at a single resource for it all. It's still being worked on, so if you find any errors, or anything confusing please contact me. It'll be a start to finish guide, but currently starts after you have become an iOS iPhone developer and downloaded Xcode. I haven't written the submitting to the app store sections, distribution profile stuff, and geplayer, but again I'll get it done as soon as possible. Pictures will also be included in further edits.
-Edit
Halted due to changes in xcode 4.
Setting up your Developer Information
Setup Your Development Certificates
This entire process takes place in your iOS provisioning portal.
https://developer.apple.com/ios/manage/overview/index.action
Create your iOS development certificate
-First you need to create a Certificate Signing Request. To do so open the App Utility, Keychain Access.
Applications -> Utilities -> Keychain Access
[Top bar] Keychain Access -> Preferences
-Click Certificates and make sure the OCSP and CRL settings are set to off.
[Top bar] Keychain Access -> Certificate Assistant -> Request a Certificate From a Certificate Authority
Fill out the information:
-User Email Address: (Your iOS dev account email)
-Common Name: (This will be used in connection with your certificates whilst signing your apps)
-CA Email Address: (leave blank)
-Select buttons [Saved to disk] and [Let me specify key pair information]
-Click continue to save the csr file. Save it to your Desktop.
-You'll be prompted with a window for Key Pair Information. Make sure it is set to the following.
Key Size: 2048 bits
Algorithm: RSA
-Click Done.
Sumbit CSR for approval
-In your iOS provisioning profile, select Certificates -> Development.
-When there, click Request Certificate.
-At the bottom of the screen, there is a button [Browse…]. Click it and select the csr file you created.
-After selecting, click [Submit].
-At this point it should say Pending Issuance as the certificates status. Clicking Development again should update the status to Issued.
Installing Developer Certificate
-At the bottom of the screen, there is note. *If you do not have the WWDR intermediate certificate installed, click here to download now.
-Download it, and when it finishes, double click it. This should add the certificate to your keychain (under My Certificates).
-Next, download the certificate you created in your iOS provisioning profile.
-Certificates -> Development -> Action (click download)
-The file should be a developer_ide.cer. Again double click to install.
**If this for some reason does not install the certificate, import the certificate.
[Keychain Access] File -> Import Items…
-From here select the file, and it should load.
Adding a Test Device
If you want to be able to test your game, you'll need to add your device to the portal. To do this you need your devices UDID.
-To find it, connect the device to your mac, and open Xcode.
-In Xcode's top bar, go to Window -> Organizer
-From the Organizer, on the left side you should see your device's name (under devices). If not already selected, select it. Your UDID is the 40 character long string labeled as Identifier (copy it).
-Back to the iOS Provisioning Profile, select Devices.
-From there, (under Manage), click Add Device. You will be prompted to input the device's name and UDID. After entering the name and UDID, click [Submit].
-Now the device should be added, and able to be selected for testing, in later steps.
App ID
Your App ID is, as it sounds, an ID for your app. It is used throughout this process, and is used to link things together. All you need to know is that you should create one of these per app you submit (though you can test games under the same app id, instead of having to create one for each).
-In the iOS provisioning profile, you should see on the left App ID. Select it, and click [New App ID].
-It will prompt you to enter a common name of your App ID. The name will be used in the rest of provisioning process, use a name of your app.
-Leave Bundle Seed ID (App ID prefix) as [Generate New].
-Next it wants you to enter a App ID suffix. Use reverse-domain. Usually along these lines. com.yourcompanyloginname.appname
-After entering those two fields, click [Submit]. This should properly create your app id, so you can move on to provisioning.
Provisioning Profile
The provisioning profile allows you to run your app on your device. It is pretty much a combination of all of the stuff we did above.
Creating a Development Provisioning Profile
-Back to the iOS Provisioning Profile, this time click Provisioning.
-On the right, click [New Profile].
-It will prompt you to create a profile name. Name should be similar to your game name.
-Select the certificate you created, and the App ID you created. Lastly select your device, and hit [Submit].
-Its status after submission will be Pending. Reclick [Development] to set it to Active.
-This should successfully create your Provisioning Profile, bringing you one step closer to being able to build our game onto your device.
Installing a Development Provisioning Profile
-Back to the portal, next to the newly created profile, click [Download]. The file should be named profileName.mobileprovision
-If it is not up already, open up the Organizer window from Xcode. (Xcode's top menu bar: Window -> Organizer)
-Drag the .mobileprovision file into your device. This will add it to your device, if not, you can go to your device in the organizer, and click the [+]. Select the file and we can now move on to building your app.
Building your game (geapp)
To do this, you'll need the geapp xcode project, which can be found in your gameEditor's bin folder. If you don't have the geapp xcode project, you'll have to download the source and get it there. There may be differences to the geapp file if you downloaded it at a different time, I do not know of any changes made, but if you are experiencing difficulties, you might try getting a fresh copy. At this point it is assumed you have at least some game to test. Export it as an iphone dat file.
http://sourceforge.net/projects/game-editor/files/gameEditor.zip/download
GameEditor/bin/geapp_iphone/geapp.xcodeproj
-Double click it to open the project.
-First thing to do is drag the appName.dat file into the resources section on the left of the screen. A window will popup.
-Set Reference Type to: Relative to Build Project
-Select Create Folder References for any added folders
-Lastly make sure in Add to Targets, than gameEditor iPhone Player is checked, then hit [Add].
On the left side of the Xcode window there is a section named Groups and Files, remember it.
-In Groups and Files, double click Targets. This should reveal gameEditor iPhone Player. Double click this to open its settings.
-Under the properties tabs, change the Identifier to the identifier you used for your App ID.
-Next go to build.
-Under Architecture, set Base SDK to the base sdk you wish (such as Latest iOS). Just make sure it does not say multiple values.
-Scroll down to Code Signing, Code Signing Identity. By default it says <Multiple Values>. Click it and select iPhone Developer. This will set it to the default iPhone Developer profile. Likewise set the Any iOS value to iPhone Developer.
-Next go to Deployment. Make sure the first Targeted Device Family is set to iPhone.
-Set iOS Deployment Target to the lowest iOS you intend to support (for example you want it to run on 3.1.2 or higher, set it to 3.1.2).
-Going down even further to Packaging. That'll cause problems, so set it to the name of your app.
-Lastly, go to the General tab and set the name to your app's name.
-Going back to the Groups and Files, double click the geapp at the top. Like before, set the Base SDK (same as previous).
-Scroll down to Code Signing and make sure it is the same as the other code signing values.
-Next go to Deployment. Make sure the first Targeted Device Family is set to iPhone.
-Set iOS Deployment Target to the lowest iOS you intend to support (for example you want it to run on 3.1.2 or higher, set it to 3.1.2).
-Exiting that window, if the top left of the xcode window still shows Base SDK missing, click it and for Active Configuration, select debug.
At this point, you should be able to hit Build and Run at the top, and it should start to play on your device.
-Edit
Halted due to changes in xcode 4.
Setting up your Developer Information
Setup Your Development Certificates
This entire process takes place in your iOS provisioning portal.
https://developer.apple.com/ios/manage/overview/index.action
Create your iOS development certificate
-First you need to create a Certificate Signing Request. To do so open the App Utility, Keychain Access.
Applications -> Utilities -> Keychain Access
[Top bar] Keychain Access -> Preferences
-Click Certificates and make sure the OCSP and CRL settings are set to off.
[Top bar] Keychain Access -> Certificate Assistant -> Request a Certificate From a Certificate Authority
Fill out the information:
-User Email Address: (Your iOS dev account email)
-Common Name: (This will be used in connection with your certificates whilst signing your apps)
-CA Email Address: (leave blank)
-Select buttons [Saved to disk] and [Let me specify key pair information]
-Click continue to save the csr file. Save it to your Desktop.
-You'll be prompted with a window for Key Pair Information. Make sure it is set to the following.
Key Size: 2048 bits
Algorithm: RSA
-Click Done.
Sumbit CSR for approval
-In your iOS provisioning profile, select Certificates -> Development.
-When there, click Request Certificate.
-At the bottom of the screen, there is a button [Browse…]. Click it and select the csr file you created.
-After selecting, click [Submit].
-At this point it should say Pending Issuance as the certificates status. Clicking Development again should update the status to Issued.
Installing Developer Certificate
-At the bottom of the screen, there is note. *If you do not have the WWDR intermediate certificate installed, click here to download now.
-Download it, and when it finishes, double click it. This should add the certificate to your keychain (under My Certificates).
-Next, download the certificate you created in your iOS provisioning profile.
-Certificates -> Development -> Action (click download)
-The file should be a developer_ide.cer. Again double click to install.
**If this for some reason does not install the certificate, import the certificate.
[Keychain Access] File -> Import Items…
-From here select the file, and it should load.
Adding a Test Device
If you want to be able to test your game, you'll need to add your device to the portal. To do this you need your devices UDID.
-To find it, connect the device to your mac, and open Xcode.
-In Xcode's top bar, go to Window -> Organizer
-From the Organizer, on the left side you should see your device's name (under devices). If not already selected, select it. Your UDID is the 40 character long string labeled as Identifier (copy it).
-Back to the iOS Provisioning Profile, select Devices.
-From there, (under Manage), click Add Device. You will be prompted to input the device's name and UDID. After entering the name and UDID, click [Submit].
-Now the device should be added, and able to be selected for testing, in later steps.
App ID
Your App ID is, as it sounds, an ID for your app. It is used throughout this process, and is used to link things together. All you need to know is that you should create one of these per app you submit (though you can test games under the same app id, instead of having to create one for each).
-In the iOS provisioning profile, you should see on the left App ID. Select it, and click [New App ID].
-It will prompt you to enter a common name of your App ID. The name will be used in the rest of provisioning process, use a name of your app.
-Leave Bundle Seed ID (App ID prefix) as [Generate New].
-Next it wants you to enter a App ID suffix. Use reverse-domain. Usually along these lines. com.yourcompanyloginname.appname
-After entering those two fields, click [Submit]. This should properly create your app id, so you can move on to provisioning.
Provisioning Profile
The provisioning profile allows you to run your app on your device. It is pretty much a combination of all of the stuff we did above.
Creating a Development Provisioning Profile
-Back to the iOS Provisioning Profile, this time click Provisioning.
-On the right, click [New Profile].
-It will prompt you to create a profile name. Name should be similar to your game name.
-Select the certificate you created, and the App ID you created. Lastly select your device, and hit [Submit].
-Its status after submission will be Pending. Reclick [Development] to set it to Active.
-This should successfully create your Provisioning Profile, bringing you one step closer to being able to build our game onto your device.
Installing a Development Provisioning Profile
-Back to the portal, next to the newly created profile, click [Download]. The file should be named profileName.mobileprovision
-If it is not up already, open up the Organizer window from Xcode. (Xcode's top menu bar: Window -> Organizer)
-Drag the .mobileprovision file into your device. This will add it to your device, if not, you can go to your device in the organizer, and click the [+]. Select the file and we can now move on to building your app.
Building your game (geapp)
To do this, you'll need the geapp xcode project, which can be found in your gameEditor's bin folder. If you don't have the geapp xcode project, you'll have to download the source and get it there. There may be differences to the geapp file if you downloaded it at a different time, I do not know of any changes made, but if you are experiencing difficulties, you might try getting a fresh copy. At this point it is assumed you have at least some game to test. Export it as an iphone dat file.
http://sourceforge.net/projects/game-editor/files/gameEditor.zip/download
GameEditor/bin/geapp_iphone/geapp.xcodeproj
-Double click it to open the project.
-First thing to do is drag the appName.dat file into the resources section on the left of the screen. A window will popup.
-Set Reference Type to: Relative to Build Project
-Select Create Folder References for any added folders
-Lastly make sure in Add to Targets, than gameEditor iPhone Player is checked, then hit [Add].
On the left side of the Xcode window there is a section named Groups and Files, remember it.
-In Groups and Files, double click Targets. This should reveal gameEditor iPhone Player. Double click this to open its settings.
-Under the properties tabs, change the Identifier to the identifier you used for your App ID.
-Next go to build.
-Under Architecture, set Base SDK to the base sdk you wish (such as Latest iOS). Just make sure it does not say multiple values.
-Scroll down to Code Signing, Code Signing Identity. By default it says <Multiple Values>. Click it and select iPhone Developer. This will set it to the default iPhone Developer profile. Likewise set the Any iOS value to iPhone Developer.
-Next go to Deployment. Make sure the first Targeted Device Family is set to iPhone.
-Set iOS Deployment Target to the lowest iOS you intend to support (for example you want it to run on 3.1.2 or higher, set it to 3.1.2).
-Going down even further to Packaging. That'll cause problems, so set it to the name of your app.
-Lastly, go to the General tab and set the name to your app's name.
-Going back to the Groups and Files, double click the geapp at the top. Like before, set the Base SDK (same as previous).
-Scroll down to Code Signing and make sure it is the same as the other code signing values.
-Next go to Deployment. Make sure the first Targeted Device Family is set to iPhone.
-Set iOS Deployment Target to the lowest iOS you intend to support (for example you want it to run on 3.1.2 or higher, set it to 3.1.2).
-Exiting that window, if the top left of the xcode window still shows Base SDK missing, click it and for Active Configuration, select debug.
At this point, you should be able to hit Build and Run at the top, and it should start to play on your device.