Share my iPhone app for testing - iphone

I'm writing a new iPhone app and want to share it with a couple of friends for testing and general feedback and sign-off. Is there a way I can do that?
They are located in a different state, and they don't have a Mac either.

Edit: I wrote this post a long time ago. Since then, services such as TestFlight have come along which do this entire process. This is really the way to go!
You need to make an ad hoc build which your friends can install on their phones. It's a bit of a pain, but basically, the procedure goes like this:
Go to the Apple Developer Center's Provisioning Portal and register their device ID's. You will need to have your friends give you their device ID's, which can be done by clicking on the "Serial Number" field in iTunes on the device page.
Generate a distribution certificate for ad hoc distribution in the Provisioning Portal under Provisioning -> Distribution
Download that certificate yourself (the .mobileprovision file) and install it into Xcode by dragging it on the Xcode icon.
Duplicate your "Release" build setting in Xcode for an Ad Hoc build. Everything should be the same as Release, except in the "Code Signing" section you will want to select the new Ad Hoc profile generated in step 3.
Make an Ad Hoc build by going to Build -> Build and Archive
When Xcode brings up the organizer window, right click on the archived build and make a .ipa file by saving it to disk
Tell your friends to drag the mobile provisioning profile to the iTunes icon (or with File -> Open for windows users) to install it on their phone.
Tell your friends to drag the .ipa file you made into iTunes, and sync their phones
At this point, the app should be installed on their phone, but lots of things can go wrong, so you should definitely read Apple's documentation on the subject as well.
Note that this procedure won't work unless your friends are using iTunes to sync applications with their phones. Also, as noted, you will need to be a paying developer in ADC to even access any of the Provisioning Portal stuff.

You need to create an ad-hoc provisioning profile and build your app with that. Then send both a .zip compressed build and the profile to your friends (maybe over e-mail). They don't necessarily need Macs... Windows will do just fine, as long as they have the latest iTunes installed.
There's more information (including how-tos) at the iOS Provisioning Portal.
All this assumes you've paid your $99 and are a registered iOS developer.

Related

Ad Hoc should be for development iOS devices?

Just I want to send the ipa file to my customer in order to test it, I have searched about my question, but unfortunately I did not find the answers.
When the customer want to install the ipa file through iTunes, should his iOS device be registered as a development device in developer.apple.com or no ?
Note: I have installed the ipa to my device successfully, but I don't know if it is completed because my iPhone is already registered .
Thanks.
I would give TestFlight a try. Very Easy to handle...
https://testflightapp.com
Yes, on the provisioning Portal under Device you first need to insert the UDID of the (new) device.
Then, below, in the Provisioning menu go to the Distribution tab.
There, either create a new profile or edit an existing profile. Ensure the device is part of the profile.
After submission of the new/modified profile wait a while. Within a few minutes the download button appears (you will need to refresh the tab).
Download the certificate from Safari and drag&drop it into the Xcode organizer or download it from within Xcode.
Exit Xcode and reopen (helps avoiding strange certificate problems), then Build&Archive

Testing on a second iPhone

I have developed my first full fledged iPhone app, and tested it on my phone. I would like to have it tested by one of the contributing graphic artists on their iPhone. They live in another state so I do not have access to their device. I added their Device ID to the apple portal.
A couple of questions:
I do not see the device show in Xcode when I hit refresh. Should I be seeing it?
Which executable file(s) do I send to them?
Look at testflight. It makes distributing apps very easy. Since you have already included the designers device ID, all you have to do is:
Sign up to test flight
invite the designer and tell him to register and add his device info
go to apple developer portal - provisioning - distribution and create a new distribution profile (don't forget to add the designers device when creating the profile), download and open the certificate (which will be shown in Xcode's Window>Organizer) - make sure that the correct certificates are selected in your build settings.
make sure that iOS device is selected ( and not the simulator) now in Xcode go to Product>Archive, when the archive is shown click distribute>adhoc distribution
this will create an IPA file.
upload this to test flight and follow the instructions to select the designer from your team.
Use TestFlight. It's free, takes 5 mins to install their API, and gives step by step instructions on how to push your app to any tester over the air.
Add their device id to your developer account, Update your adhoc profile (which you are using for running your app on device) attach their device with this profile. Now again sign your build with updated profile and give this APP file and provisioning profile to others or upload it on TestFlight.

Preparing Ad Hoc Distribution for my app

I have been reading several tutorials and watching some iTube videos to see how I best prepare my app for Ad Hoc distribution. However the information I got is not really consistent, it goes from the 5 step explanation from the Developer Center of Apple to a almost 3 minutes video, where I would have to set some Code Signing options in XCode, create and zip the Archive etc.
My questions:
1.
Is there a tutorial available, which explains everything required, but not too much? I somehow feel, for instance, that code signing is not really required.
2.
After I tried to install the app using iTunes, the synch claimed that it was not able to install it. Is there some log available in iTunes, so I can check for further error details?
3.
How about switching from Ad Hoc distribution mode to normal developer mode? After I followed the steps from the video and prepared my app for Ad Hoc distribution, I was not able to install it on my device anymore, I got the error
Build target Abiliator
Check dependencies
[BEROR]CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 5.0'
This is the video tutorial on iTube I followed: Demo of iPhone app Ad Hoc distribution
Thanks for your feedback and have a great weekend.
OK, looked up the Error
" the following job tried to hijack the service..." and saw that a reboot of the iPhone may solve the issue... and guess what, I was chasing a phantom all day long.....
It works perfectly.
So last hint for anyone, having a similar issue, after installing an app via Ad Hoc the first time: Reboot iPhone, otherwise the app may crash.
Cheers and now good nite :-)
PS: Just to round this thread up here the steps I did at the end (as mentioned, I am using XCode 4.2.1) :
Added my device on the Provisioning Portal (this had been done long time ago, however it is an important step, as the beta testers device IDs also need to be registered here before you re-create and download the distribution profile)
Created and downloaded an iOS Distribution Certificate in the Provisioning Portal
Imported the certificate in my Keychain
Created a Ad Hoc Provisioning File in the Provisioning Portal
Downloaded that profile
Double clicked the profile, which added it to the XCode Organizer Provisioning Profile Section)
Added the options Any SDK and Any iOS SDK in for Ad Hoc Distribution Code Signing Identity in the Code Signing section of my project AND my target and set the values with my Ad Hoc Provisioning File I just created and imported
Made sure the option in my app .plist file "Application requires iPhone environment" was set to true
Ran a clean (Product / Clean) and then a build only (Product Build)
Made sure the app was not installed on my iPhone (as I was testing before via XCode)
Copied the target (group Products via Show in Finder) to iTunes via Drag and Drop (I dropped it into the Media section)
Copied the Ad Hoc Provisioning File into iTunes via Drag and Drop (also to the Media section)
Made sure the app was checked for the synch, synched iTunes with the iPhone
Lastly rebooted my iPhone! However, I am pretty sure, that this might occur on the Developers device only. I assume that the reason for that was a process, still remaining on the iPhone, from my last test via XCode.
I did not use an entitlements file. I have actually to find out, what that file is really for, I have read that it might be required only, if using iCloud. And XCode 4.2 developers, there is nothing like File / New / Entitlement Template anymore in XCode. The file is created as soon as you check the option Entitlements and give the file your desired name in the Summary tab of your target.
You may also want to download the iPhone Configuration Utility from apple
I will also recommend this to my beta testers, as it allows you to see the console log of the iPhone, which of course might be very helpful in case of errors.
Hope this summary helps others, setting up their app for the first Ad Hoc distribution.
Cheers, René
code signing is simple.
first you create a mobileprovisioning profile for your apps bundle identifier also add the devices you want to built the app for. for adhoc build do it in distibution tab. download it, double click add it to keychain.
now you tak your app in xcode.select coreect profile(code signing). set command line build to distribution, oh i forgot create a new file(entitlements.plist) set debug inside it to false, add its relative path in the target, just above codesigning specified. now select the iosdevice on top left(where you select the simulator) press command+b to build the app. the app would be in the products folder(at the bottom) locate it in finder drag it to itunes, may be provisioning profile too, and sync it. done.
Go to https://developer.apple.com/devcenter/ios/index.action and login. You can find 'iOS provisioning portal'. And after going there, choose 'Distribution' section. Select "HOW TO", you can find necessary steps there.

How do i give my un-released iPhone app to people who aren't near me to test?

This isn't a coding question, but is to to do with beta testing my app and so I think it's relevant for here.
I want to give my app to people to try, such as online friends and my parents, neither of whom live anywhere near me. Am i able to provision an iPod Touch or iPhone for testing my app, and put the app onto that iPod or iPhone without doing it directly from my computer?
Yes, you need to generate an Ad-Hoc build. You get the beta testers to send you the UDID for their phones, then build an Ad-Hoc build targeting those devices and email it to them. They install it by dragging it into iTunes and then syncing their phone.
In reality it can be a bit of a trial the first time you generate an Ad-Hoc build. Apple's docs cover all the facts but lack a simple step-by-step guide. I'd strongly suggest you check out TestFlight - it's free to use and it makes the whole process much easier.
(If you're feeling really adventurous you could try out Anticipation, a simple Ad Hoc distribution tool I wrote that runs on Google App Engine. It's free and open source, so help yourself!)
You are looking for Ad Hoc Distribution in Provisioning Portal. Basically, you will need to create an Ad Hoc Distribution Profile that has the Unique Device ID's of the devices your friends will use to test.
In Xcode, you will build your app with the above-mentioned distribution file using Build and Archive. When You open Organizer and click on the archived app, you will choose Share -> Email. This will open your mail client and attach the .ipa and the correct distribution file for your users to drop onto iTunes and Sync.
You want to look in to Ad Hoc Distribution. You'll create an Ad Hoc Distribution Provisioning Profile on the Provisioning Portal, then Build & Archive, then "Share" the archive signed with your Ad Hoc profile.
Check out this article, it walks you through it and shows a nice way to distribute it online. Note that you have to repeat the process every time you make a change to your app or add a new device to the profile.
You have to create an ad-hoc version of your app.
You need to get the UUID of the users devices. Erica Sadun created an app that helps you doing this. It gets the uuid on the device and emails it to you. Those UUID goes into a special provisioning profile you create in the provisioning center on dev.apple.
For ad hoc deployment I use Hockey Framework. Some php files you put on your webserver with the ad hoc version and the provisioning profile.
Beta testers can then install the app by visiting the website with their devices.

Deploying iPhone Applications on a testing device

I want to outsource my application testing.
Is there a way to send only the binaries (from xcode) to another user,
and if he gets the right certificate being able somehow to install the app to his device?
You need to create an ad-hoc distribution profile through the Apple Provisioning portal. You also need to register the device UDID as a test device. Than you can send your tester the provisioning profile and the application bundle, which will allow them to deploy by simple drag/drop to iTunes.
Note that you can specify up to 100 devices in an ad-hoc provisioning profile and those devices count against the per-year quota of test devices.
Apple describes this precisely in the iPhone Provisioning Portal documentation. You have to be a registered iPhone developer (with the $99 or more fee) in order to deploy your app on other devices than the ones you use with XCode.
Take a look at the "Devices" section, you have to enter the UDID of the device you want to deploy your code on. Then, for distribution, have a look at the "Distribution/Ad Hoc" section.
The easiest way is the Build-And-Archive function in Xcode - which will also store the dsym file which is essential for crash reports. After the Build-And-Archive, head to the Organizer and you can put the archive into an email with the "Share Application..." button (choose "Archived Applications" on the left).