Certificates and Provisioning and Unity3D (Remote) – How it worked for me!

November 6, 2009 in Unity3D by synapsemassage

certificates, provisioning, ...

certificates, provisioning, ...


Certificates:
Certification procedure created a total mess on my machine. Took me 2 days to resolve this.

Basically you can/will find a very detailed description at Apple but at the same time also a very confusing description. Apperently you have to do the right steps at the right time. But still, you need to read Apples and Unity How-To at:

http://developer.apple.com/iphone/manage/certificates/team/index.action

file:///Applications/Unity%20iPhone/Unity%20iPhone.app/Contents/Documentation/Documentation/
Components/Account%20Setup%20Help.html
file:///Applications/Unity%20iPhone/Unity%20iPhone.app/Contents/Documentation/Documentation/
Components/Unity%20iPhone%20Basics.html

Start:
You have to be a member in the Apple Developer Program. So get an account first and login. Go to “Program Portal”. Go to menu App ID. Create App ID with Wild Card Asterisk and reverse domain name. Read through Apples How-To to understand.

Step 1:
Download and install AppleWWDRCA. After downloading double-click it. Keychain Access will open, click OK. (Keychain Access is a pre-installed application on your Mac; german: Schlüsselverwaltung)

http://developer.apple.com/certificationauthority/AppleWWDRCA.cer

Step 2:
Create locally on your computer two “Certificate Signing Requests”! One for development and one for distribution. Make sure nothing is selected in main window of Keychain Access. Go to Keychain Access -> Certificate Assistant -> “Request a Certificate From of a Certificate Authority…” . (Also check flag below “save to file” radio button). Save(!) requests with individual names on your computer.

Step 3:
In your Developer account go to “Program Portal” (http://developer.apple.com/iphone/manage/certificates/team/index.action)

Step 4:
In “Program Portal go to “certificates” -> open tab “Development” -> request certificate -> load developer-certificate-signing-request that you created in Step 2 -> Approve it! Refresh page after several seconds: you should see a download button. Download certificate (developer_identity). After downloading double-click it. Keychain Access will open, click OK.

Step 5:
In “Program Portal go to “certificates” -> open tab “Distribution” -> request certificate -> load distribution-certificate-signing-request that you created in Step 2 -> Approve it! Refresh page after several seconds: you should see a download button. Download certificate (distribution_identity). After downloading double-click it. Keychain Access will open, click OK.

Step 6:
In “Program Portal” go to “provisioning” -> open tab “Development” -> click/create “New Profile” ->Submit and approve it! Refresh page after several seconds: you should see a download button. Download provisioning file (name it for example Development.mobileprovision). After downloading drag file onto Xcode or iTunes icon in your Dock to install. Alternatively open Xcode -> window -> organizer -> provisioning -> click on “+” button and load development provisioning file. Detailed description in Apples How-To if necessary.

Step 7:
In “Program Portal” go to “provisioning” -> open tab “Distribution” -> click/create “New Profile” ->Submit and approve it! Refresh page after several seconds: you should see a download button. Download provisioning file (name it for example Distribution.mobileprovision). After downloading drag file onto Xcode or iTunes icon in your Dock to install. Alternatively open Xcode -> window -> organizer -> provisioning -> click on “+” button and load distribution provisioning file. Detailed description in Apples How-To if necessary.

Prepare UnityRemote project or other Xcode projects for building.

Step 1:
UnityRemote is in your Unity iPhone Installation folder. Open UnityRemote.xcodeproj with Xcode. Adjust it’s properties and build settings as described in Apple How-To and Unity-How-To. See links at top of this tutorial.
Select Device at the left side of top bar.

Step 2:
Properties:
group & files -> select Targets: Unity Remote -> click on blue info-button at center of window top-bar -> click tab properties -> enter your identifier with your reverse-domain name e.g com.yourname.UnityRemote

Step 3:
Build:
group & files -> select Targets: Unity Remote -> click on blue info-button at center of window top-bar -> click tab build -> go to “Code Signing”-> go to “Any iPhone Os Device” -> choose your provisioning profile.

Step 4:
Go to Build -> Clean Targets -> OK

Step 5:
restart UnityRemote Xcode project.

Step 6:
Make sure your iPhone is connected and WiFi is running.
Make sure Unity iPhone Application is started.

Step 7:
Build and Go.

Your Unity iPhone Application:

Step 1:
Adjust settings for Unity Player. Open your Unity iPhone Project. -> Edit -> Project settings -> Player. Go to Inspector Window/Tab -> go to iPhone Bundle Identifier -> change settings to com.yourname.yourappname

Step 2: When compiling, don’t save build in your assets folder, but somewhere else. Otherwise you will get errors.

Step 3:
Make sure your iPhone is connected and WiFi is running.

Step 4:
Build!