Page 1 of 1

gE iPhone Tutorial(s)

PostPosted: Fri Mar 11, 2011 9:42 am
by skydereign
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.

Re: gE iPhone Tutorial(s)

PostPosted: Fri Mar 11, 2011 10:38 am
by again
Excellent +1

Re: gE iPhone Tutorial(s)

PostPosted: Fri Mar 11, 2011 10:58 am
by Camper1995
I agree. Perfect! +1 too

Re: gE iPhone Tutorial(s)

PostPosted: Fri Mar 11, 2011 11:28 am
by akr
Sky, thanks a lot! +1

Re: gE iPhone Tutorial(s)

PostPosted: Sat Mar 12, 2011 12:53 am
by REDNSX
I went and did it all. It seem to be going good untill the end I hit build and run but nothing happened. I have no idea what went wrong. I click on the Build and run and I dont get anything not even error just nothing.

Re: gE iPhone Tutorial(s)

PostPosted: Sat Mar 12, 2011 1:31 am
by skydereign
Nothing at all? At the bottom right there are warnings and errors, after you try to build. Also, one problem that has happened to me is that the .dat file had a different name from the target, which means if you try to run it, the game will open a black screen, and close it. Another possibility is you device was busy at the time. If it was locked when you tried it, you'll have to stop it in Xcode and try again after you typed your password.

Re: gE iPhone Tutorial(s)

PostPosted: Sat Mar 12, 2011 1:44 am
by REDNSX
I got this

Error: There is no SDK with the name or path 'iphoneos3.1.2'
warning: Build setting "iOS Deployment Target" should not be empty
(current IPHONEOS_DEPLOYMENT_TARGET = "").


I have no idea what this means.

Re: gE iPhone Tutorial(s)

PostPosted: Sat Mar 12, 2011 2:00 am
by REDNSX
[BEROR]error: There is no SDK with the name or path 'iphoneos3.1.2'
[BWARN]warning: Build setting "iOS Deployment Target" should not be empty (current IPHONEOS_DEPLOYMENT_TARGET = "").


This is more info on my error

Re: gE iPhone Tutorial(s)

PostPosted: Sat Mar 12, 2011 2:56 am
by skydereign
Ok, I think I might know what is happening. I replied to your pm.

Re: gE iPhone Tutorial(s)

PostPosted: Sat Mar 12, 2011 9:56 am
by needaname
definite +1 thanks alot! congratulations on 1000 posts.