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!
Related
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.
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.
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.
Grepping around, I see that I'm not AT ALL alone in being... challenged... by the process of setting up an iPhone app, getting it to run, giving it my testers, and so on.
I've gotten it to work. Somehow I emailed a copy or two to testers, and eventually got my li'l app into the store, and that was fine.
But I can't say a really, deeply understand it! (And I don't do iOS dev every day. Even now my recollection of what I did is kind-of hazy.)
I'm moderately capable of understanding things, if presented, well, you know, in a way I can understand.
Can anyone point me to a crystal clear explanation of what provisioning actually is?
I feel that if I understood it, the recipes to do it would be obvious.
Thanks!
Development provisioning profiles sign your application, and allow the phone to know it's OK to run. These days, XCode automatically makes a Development Profile for you (the "Team Profile").
The other kind of profile, when you are talking about other people running you app, is a Distribution Profile. You need a Distribution profile for either giving your app to the store, or for giving to beta-testers.
The profile is what allows other people's phones to know it's OK to run your app, basically it includes a list of device ID's approved to run that application on the phone in question, along with being signed so that the phone knows the whole thing is valid.
If you read advice around the web concerning distribution, it's easy to get confused because things used to be a lot harder. You used to have to send Distribution certificates separately from your app to beta testers. These days the certificates are included in your app bundle so you don't have to worry about that.
Furthermore, sending an AdHoc build can be all kinds of unpleasant - for testers using Windows. These days, the absolute best way to do beta testing is have a link on the web that uses the Enterprise ad-hoc deployment feature, to let a user with iOS4 or higher automatically download and install your application with no iTunes or copying work at all. In fact I would at this point refuse to use beta testers running windows who were not on iOS4 or higher.
The guide link posted should have a section about the enterprise ad-hoc, but basically the way it works is there's a small plist file the phone downloads, that has a link to the IPA file containing your app. You point the phone to a specially formatted link to the plist file and the phone fetches the application directly.
All of this is predicated on using the "Build and Archive" option for building any ad-hoc distribution build. You should do that anyway because it also saves out a symbol file for you to use in debugging crash reports.
EDIT:
Here's a little more detail on enterprise deployment (which works for any registered developer, not just Enterprise registered developers):
http://jeffreysambells.com/posts/2010/06/22/ios-wireless-app-distribution/
The Developer Program User Guide should be helpful.
I am developing an iphone / ipad application. My plan is to have my beta customers use it before I have submitted it to the app store to help me work out all the issues.
Nonetheless, they will be entering real information to the application. Thus, I would like them to be able to back up the application to iTunes using the sync feature.
I expected this would work normally, but as it turns out, I don't see the application in the list of apps that can by synched. My guess is that this is because I'm using a development provisioning profile.
Can anyone confirm this guess? Or better yet, has anyone out there successfully synched an app that is under development (not yet in the app store).
Thanks in advance.
Yes, I think you are right.
You need to build your app signed not as developer but with adhoc distribution certificate. You can find more about it on iPhone Developers Portal. Then you can find your app on your disk. You and your beta-testers can install your app via iTunes -
Drag and Drop your adhoc certificate file on iTunes
Drag and Drop your app package on iTunes.
Sync iPhone with iTunes - and you have your app installed and sync.
Backing up data to iTunes works just fine for me. I'm installing the app with my development certificate--not with ad hoc distribution. But, you'll probably want to use ad hoc to send the app to your testers, so some of this won't apply (see below if you're interested).
I can tell you that one of the biggest categories of support requests I get is people having issues with losing data after upgrading their device, the OS on their device, or my app. It might be a good idea to give your users a way to back up their data, whether it's Dropbox integration, a custom server, or some other solution.
On a number of occasions, I've upgraded the OS on my iOS devices and had the data come back when I restore the device after the upgrade, even for apps installed using my developer certificate. If you're really unsure, you can always back up your data using the XCode organizer (go to the organizer, select the device, find your app under Applications, expand it, and press the arrow button to the right of Application Data), back up your device using iTunes, and then do a restore using either XCode or iTunes. The data should be there after you re-install the app using XCode (the iTunes backup restore will restore the data, but not the app).