Sunday, February 17, 2013

Testing on an iPhone 5

So, I have a borrowed iPhone 5, which I'm planning to test my app on. I'll never get this process down, no matter how many times I do it. But, IIRC, you need to set up a "provisioning profile", which is unique to the developer, device and app.

If I try to run it without doing anything, I get this error message: "The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile." I'm assuming that it's because the app doesn't have a provisioning profile specifying the new device.

Ok, here's what I did:

1) Went to organizer, right clicked on the device (the iPhone 5) and selected "add device to provisioning portal"
2) Noticed from the link below that my app id must be a specific one (not wildcard) because it uses in-app purchases.
3) Since there was only one profile that matched the app name (see bundle-id in the plist) that was specific, I knew that had to be the one.
4) I checked the devices associated with the profile, and the iPhone was on it from step 1.
5) I downloaded the devices and double-clicked it.
6) That brought it into the keychain, I think.
7) I ran the app and it worked!

Here's the link I was looking at:


http://iphone.gumbypp.com/provisioning.html

"Provisioning is the way by which you can test on a device. Only iPhone developer program members get this privilege - which is reasonably priced at $99/year. All of the action starts at the Developer program portal. 

Here's what you need to do for on-device testing: 

    Create a certificate - this I have

    Create a specific or Wild-card App ID - have

    Add one or more test devices - would be nice to have to just add the device. 

    Create a provisioning profile

    Install the app on the test device(s)

    Go have a beer if it all worked!



Ok, what is my provisioning profile for this app? Maybe it's in Organizer, or Keychain. 

Well, Organizer has a couple of them. One is name "Jlpt Vocabulary Quiz App Profile". Created on 2/6/13, expiration at the end of this year. Another is the JLPT profile for iPhone. It was created 1/20/2013 and expires a year from that. 

Here's the part on certificates: 


Certificates
Enter the program portalClick on the "Certificates" link on the left panelSelect the "Development" or "Distribution" tabFollow the steps under the "How To" tab to actually create a certificate:Generating a Certificate Signing RequestSubmitting a Certificate Signing Request for ApprovalApproving Certificate Signing RequestsDownloading and Installing Development CertificatesSaving your Private Key and Transferring to other Systems


You'll probably need at least one development certificate and one distribution certificate. You'll need a development certificate if you want to test with the APNS (Apple Push Notification Service) sandbox, or if you want to debug on the device with Xcode. I've never needed more than one of each. The distribution certificate can be used for both Ad Hoc and App Store distributions. Each certificate can be mapped to one or more devices in a profile when provisioning.


Note: make sure that you install the "WWDR Intermediate Certificate". 

Adding devices:

DevicesThis is how you add a new device (iPhone, iPod Touch and maybe even the new iPad) to your account. Such devices can then be provisioned with a development or distribution profile to run apps that are not available in the App Store (this is called "Ad Hoc" distribution).Adding new devices:    Enter the program portal    Click on the "Devices" link on the left panel    Click on "Add Devices" to enter each device's ID (40 hex characters). The device ID is available from iBeta (a free download from the app store) or from iTunes by clicking on the "Serial Number" label in the device's "Summary" tab. See here for more info.Note: You can only have 100 devices per license-year. If you delete a device, the slot won't actually be available until the renewal date of your license. Once you add a device after your renewal date, all used slots get locked-in until the NEXT year. "







1 comment:

  1. Although 3.5-inch touchscreen might appear a tiny bit small if as compared to several of the well-liked 4-5 inch shows by Samsung as well as HTC, dimensions are the summary trade-off amongst tv screen rankings compared to transportability. VPN For iPhone

    ReplyDelete