Installing an Ad Hoc app for testing without synchronizing iTunes - iphone

I have an iPhone app that I'm distributing to testers. I followed these instructions:
https://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/YourFirstAppStoreSubmission/TestYourApponManyDevicesandiOSVersions/TestYourApponManyDevicesandiOSVersions.html
And they work except for one of my testers, who does not use iTunes to synchronize his apps. He has many apps already on his phone and doesn't want to synch to iTunes because it sounds like it will delete them. So...Is there any other way to get a testing app onto an iPhone besides synchronizing with iTunes?

Simply distribute it using OTA ("Over The Air" distribution).
When you Archive your application using Xcode (menu Product -> Archive, I hope that's what you do already to keep debugging symbols so that you can symbolicate crash logs when testers send some back to you!), once you click on "Distribute", select the "OTA Distribution" option and follow the steps.
Don't forget to check the "Distribute for Enterprise" checkbox in the appropriate step and fill the requested informations (Product Name, URL of the IPA when you will upload it on your server, etc).
Once your .ipa and the associated .plist is created, upload them both on a web server, and make a link to "itms-services://?action=download-manifest&url=<the_url_to_your_plist_file_here>".
When the users will open this link from their iPhone, it will prompt to install the application on their device directly, without the need to plug their device to any computer.
There are many tutorials on the net about this, simply google about iPhone OTA distribution.

I strongly recommend TestFlight. It's free and it's easy and they manage all that server side work.

Since your user is afraid of the iTunes Sync Process (for good reason), why not recommending him to use the iPhone Configuration Ultility.
That tool does not do a complete sync but only transmits the app you specified to.
It is free, easy to use and very reliable. Well, sometimes it has its hickups on Windoze systems but that seems to be a normal experience for users of that OS.

Related

How can I deliver iOS app to tester that hasn't got a mac

I'm developing an iOS application (I have macbook) and I have an apple developer's account.
How can I deliver iPhone app to tester that hasn't got a mac?
Tester's phone is not jailbroken (I can't build deb)
I recommend using the Test Flight service. It allows you to upload builds of your application and distribute then to testers via their website.
They have a great help section to get you started.
EDIT: Oh, and it's free for the basic service.
I hope that helps. Good luck.
They can run itunes on a windows machine too. But if they don't have a computer at all there is another option. You can distribute it via a link.
Its really easy. Prepare to do an adhoc distribution as usual and then click the "Enterprise Distribution" tick box.
Then add the URL to where the final .ipa will be. I usualyl fill in the app name on the second line as well but never fill the rest in.
e.g
http://www.yourdomain.com/YourApp/YourApp.ipa
Then upload the created .plist and .ipa to the relevant URL so that the 2 files are available as:
http://www.yourdomain.com/YourApp/YourApp.ipa
http://www.yourdomain.com/YourApp/YourApp.plist
Now finally create a simple HTML page and upload it to your site.
<http>
<body>
<c><font size="20">Click here to install YourApp</font></c>
</body>
</http>
Now send them a link to the above HTML page and they are good to install.
Be warned: You must have the tester's UDID in the adhoc distribution profile certificate or this will not work.
Follow these steps:
Include the users' udids into your adhoc distribution profile
certificate (same step as in Goz's answer).
In Xcode, use the Archive function and sign the code with the adhoc profile
certificate.
In Organizer, create the .ipa file for distribution.
Send the .ipa file to your users (i.e. via email).
Ask them to drag and drop the .ipa file into Applications section of iTunes for Windows and synchronize their devices.
You must have Mac OS and Mac machine to develop them. You will need XCode installed on Mac OSX to code, run and test your application.
If you do not want to buy Mac you can install Mac OSX on PC referring this link thats called Hackintosh. This works fine on PC if you follow steps properly:
http://tonymacx86.blogspot.in/2011/07/xmove-multibeast-install-os-x-107-lion.html
If that's not a possible, you may consider inviting the person over physically or to do it virtually via ex. Teamviewer or any other remote desktop protocol.
The most convenient and time saving approach that I have used so far is Test Flight. The integration is seamlessly easy. You can share files with testers and it does not require you to have a system.
The main steps are
1)Download and integrate Testflight SDK after creating a valid account (Login required).
2) Integrate the SDK with iPhone application (Though it isn't mandatory if you only wish to distribute the application and not track its usage and reporting purpose).
3) Create you team and upload build on Portal.
4) Subsequently allow testers to have access to the permitted devices mentioned in provisioning profile.
You can manage Multiple teams and applications at a single place. Hope it helps.

Installing app with adhoc provisioning profile to other iphone through itunes

I was able to go through all the horrible process of builing the app for ad-hoc distribution.
But I can't install it in an iphone from iTunes. It shows an error message after installing the app, then another pop up appears that says "Some items bought from the iphone, including "Blendr" couldnt be transfered to your iTunes Library because you have no autorization to use them in this computer.
It also gives the option of allowing this computer to use the items bought in the iTunes Store by selecting Store > Autorize, but the owner of the phone doesnt know his login/pass and also I need to make this proccess as fast as possible, since I will be installing this app to many phones, is there a way that the iphone doesnt sync with my iTunes and just installs the app?
Thanks
EDIT:
I figure out that iPhone was jailbreaked, so that's the reason of that error message. But I tried with an iPhone 4 not jailbreaked & iOS 5(my app is developed using iOS 4) and I couldn't drop the app in it, no error message whatsoever..
Any ideas?
You may want to check out Test Flight which is a free service that lets you manage builds and distribute them to your users for testing. It uses some funky provisioning services in iOS that allows their app to be installed and then to provision the user's device for your app. It's pretty cool and really simplifies the whole Ad Hoc distribution process.
Now, truth be told, I've only played with this service a bit, and it was about a year ago. My sense is that to use it effectively, your users have to have some savvy about what is going on to be successful with it. I have not looked too deeply into it lately, but they are still in business, and it's been over a year since I tried it. I would check it out! I plan to do just that for my next project.
EDIT:
As far as using the "traditional" Ad Hoc methods... I have always distributed Ad Hoc builds (.ipa files) along with the Ad Hoc distribution profile used to build the ipa file to users via e-mail. Users need both files. And I have always instructed users to save the files to their desktop, launch iTunes, connect their device, drag/drop the saved files onto their iTunes Library, then sync. It should be that simple.
The other errors you're seeing seem unrelated to installing an Ad Hoc build on an iPhone that has been provisioned to use it. iTunes seems to do a lot of stuff automatically around making sure it has everything downloaded from the cloud that you bought, that it's all on the devices it's supposed to be on, etc. That is all ancillary to the Ad Hoc process, except that you do have to sync your device to get the Ad Hoc build installed, so there is no avoiding having iTunes do all it's housekeeping.
Perhaps the thing to do is to resolve all those other iTunes issues before trying to install any Ad Hoc software. That is to say, get things cleaned up so that iTunes is happy with the iPhone in question when it is connected, and is able to sync it without errors. (I know; easy for me to say. But I think you have resolve those issues first.)
Instead of using a Distribution AdHoc you can create a Developer Certificate adding all the phones you need to install it to, you add the new certificate to all phones and you will be able to install it directly from XCode. Hit Run and Enjoy!

How to circulate your iOS app for testing without using XCode?

I have an initial build of my app which I want to circulate for testing to few others who do not have XCode with them. All I want to do is pass them the binary which they will install to their devices using iTunes. I have created my developer certificate, created an app id and added the device udids in my provisioning portal.
So now can I directly email them the binary and ask them to drag and drop into itunes and then on the device ?
Thanks!
I tested it myself and it's amazing: You should try Testflight.
It's a simple to use service (free) that allows you to distribute your adHoc builds easy and fast (might sound like advertising but it's really one of the best tools I came across).
Build archive and it will appear in organizer. There is big Share button that allows you to save ipa file which you pass on to testers.

how to deploy custom iphone apps to devices from a pc

I made an app with xcode, and now I want to share it with a few others. The problem is I live in different provinces as them and they do not have a mac. I would rather not go through the app store and I don't mind getting the enterprise developer account if it is necessary. Does anyone know how I can go about doing so?
What you need is Ad Hoc distribution. You could also use a tool as Testflight, and let your other users download your app over the air.
Use testflight or other over the air installation tools. You'll need a valid Ad-Hoc Certificate that includes the devices it's going to be installed on. Check this for more infos on the topic!
Finally, you can just send them an .ipa if you don't have a server (you can get that from XCode) and they can drag it into iTunes to install the application. It will sync the next time they sync their devices to their computer
Just Extract you ipa.
In PC/Windows, Drag ipa to iTunes.
Synchronize iTunes with device.

How can I get an iPhone app to a client for review prior to public release?

I need to show an app I have developed to a client for review prior to its submission to the app store.
The client has an iPhone but not a mac on which to run xCode.
I have a personal (not company) iPhone developer account.
The client is too far away to visit in person.
What are my options?
If the client has iTunes, you can provision a build of your app specific to the client's iPhone ID (visible in iTunes). They just need to drag it into iTunes and then install it on their phone.
Plenty of docs about this in the Apple iPhone Developer site. Good luck!
Option #1:
Login to the iPhone developer portal website.
Add their iPhone UDID to the list of devices.
Generate a provisioning profile that includes your own test phone and theirs. Download the file (ends with .mobileprovision).
Double-click it to install it on your development machine.
Quit and restart XCode, then set your code signing identity to the name of this profile.
Build the binary.
In the left side of XCode "Groups & Files" bar look for Products (may need to expand the folder).
Select {yourapp}.app. Right click and choose 'Reveal in Finder.'
Now take that .app file and the .mobileprovision file you downloaded, zip them both up and send it to the client.
They will need to unzip the archive, then drag-drop the .app and .mobileprovision onto their iTunes and sync the phone. Your app should show up and run.
The portal site has more detailed instructions, but this is basically it in a nutshell.
Option #2:
Sign up with a screen sharing service like WebEx or glance.net (both work on Mac and Windows machines). Run the app in the simulator as they watch the screencast on their machine. If it's in the early stages of development, this is probably much more useful since they can give live feedback. In later stages, sending them the app is probably more useful. The nice thing about screen sharing is that they can take over the mouse and click around and explore while you're there to explain things.
Option #3:
Get a screen-recording app like SnapzPro or ScreenFlow and run the app in the simulator while recording a voice-over of its features. Send them a link to the movie. This is pretty useful if you're walking them through all the features. It's also handy if more than one person at a time needs to review the material. The advantage over #2 is that they can watch it over and over on their own time and take notes.
Depending on the stage of development, #3 is probably best in early stages, #2 in the middle, and #3 in the final steps.
I recommend having the client use the iphone configuration utility to install/uninstall early builds of the app. I am using this with my team and it lets you get direct access to the phone's console and error logs which is super handy when you're in the early stages of development. It also lets you manage the install/uninstall of the app and see the explicit version that you are installing in a much easier to manage way than itunes does.
Option #4:
Try https://testflightapp.com/ , this is easy for distribution of your app. Even Twitter Mirror is Using this to test their beta release.