how to run applications using device id in iphone - iphone

Hi friends I tried this but could not find clear solution .
I searched on some links on Google but didn't get clear idea how to do that.
My client is on my head he is asking to install app using device id only.
Can anyone suggest me how to do this?

When we build an application for device it needs certificate and provisioning profile. If client wants that the application is to be installed on the specified devices and not on all the devices then you will need to use Ad-Hoc distribution profile.
To use this, first you will need to add particular device, on which you wish to run application, on provisioning portal.
After that you will have to download new provisioning profile, which will have entry for that device.
Now you will simply sign your application with this profile.
Using this you will be able to install application only on those devices which are added to this profile. You can add upto 100 devices in this profile.
Here is a link that compares between different programms
https://developer.apple.com/programs/start/ios/
Thanks,

Related

UDID from itune using Mac Application

I am working on a mac application which will be used by 'XXXX' company's customers to register themselves, along with using their iPhone's UDID. That UDID will be added to the apple portal to generate an Ad Hoc Profile.
So here is my question:
Is there any way our Mac Application can talk to iphone utility(windows)/itunes(mac) and get the device UDID, as soon as they connect their device.
If 1st is not possible, Is there any way we can ask the user to copy their device's UDID and fill in the from. After that we can confirm that the UDID is correct or not(using any web service or somthing).
Thanks in Advance
Chahal
There isn't any supported way to use the private MobileDevice.framework to talk to the device like iTunes does.
The easiest way for a user to find their UUID is to click on the device information in iTunes and then copy and paste it.
If you are looking for a way to help automate beta testing then you might want to take a look at one of the established services like TestFlight or HockeyApp.

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.

Questions about Ad Hoc distribution

I am trying to set an Ad Hoc distribution in order to test an iPhone app with some remote users. And I haven't found any good and clear tutorial up to now. By reading bits and pieces on Apple documentation and others I am now able to put the app on my iPod device doing as much as I can "as if I was remote user"; meaning I can put my app on the device without going through XCode. But when I send the xxx.mobileprovision an the app file to a remote user, things go wrong. The user gets a message saying that there is no proper signing authority.
As far as I know I included myself and the other users in the list of device UDIDs.
One thing unclear to me related to this issue is :
In the iOS Provisioning Portal section Certificates I can see one tab "Development" and another one "Distribution", I am not sure of what the difference is. I have one item in each tab, but I see no "Add" button to add more items and try something different. Is one of those two tabs important for my problem above?
Thanks.
The tabs are very important.
With certificates, Development is the Key Chain cert that grants you permission to build in Xcode directly to an iOS device connected by cable. Distribution is the Key Chain cert that grants you permission to build in Xcode app that may be installed onto an iOS device remotely.
Development is the mobile provisioning profile that has the list of registered an iOS devices you may directly build an app onto connected by cable.
Distribution is the mobile provisioning profile that has the list of registered an iOS devices you may send an app to someone else and have them install it on a registered iOS device remotely without using Xcode.
You want to do an Archive which will require a Distribution mobile provisioning profile. I might add that if you are sending an mobile provisioning profile in an email, you will likely want to Zip it with the .ipa since the profile can often get corrupted with in certain email clients.
Here's a link to another question that has very thorough step-by-step instructions for creating ad-hoc distribution profiles: how do you beta test an iPhone app. The instructions have changed slightly with newer Xcode versions, but this is still the best walkthrough I could find.

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.

Do I need to make an Ad Hoc Provisioning Profile to debug my app on my iPhone?

I think I'm just cloudy on how debugging works on a real device - is that how to go about it? I've been reading through Apple's docs on creating provisioning profiles for distribution, but I'm not finding any information for simply debugging my app, which is running on my device, through Xcode. Can someone point me in the right direction?
Edit (2/19/09):
I'm getting conflicting answers on whether or not I need to create an ad-hoc provisioning profile to debug my app. If I don't need to create an ad-hoc provisioning profile, what else do I have to do to debug my app, other than having my development provisioning profile and certificate for myself?
Edit (2/20/09):
This link, iPhone Development Guide: Preparing Devices for Development, seems to say that you do need a development provisioning profile for debugging on a device. In my last edit, I mentioned that I was getting conflicting answers on whether or not I need to create an ad-hoc provisioning profile. The answers are not conflicting, I just didn't understand the difference between an ad-hoc provisioning profile and a development provisioning profile.
Any time you're writing software to be installed on an iPhone, you need two things: a key and a provisioning profile. The key identifies the person who developed the application; it stays on your computer and is used to sign the apps you build. The profile identifies which devices are allowed to run applications signed by a given key; it needs to be installed onto the device.
Distribution keys are basically one per company, and are only meant to be used when you are building a version of an app that's intended to be distributed outside your development team. (App Store builds must be signed with a distribution key.) Development keys are intended to be one per developer, but are only meant to be used when actively developing an app.
(If you are an individual developer, of course, you have only one developer key and one distribution key. On my machine, I've set up Keychain to require a password for the distribution key, so even if somebody steals my laptop they can't release an update to one of my apps that compromises user security. The developer key, which can only install software onto my personal phone, is not passworded.)
When you're testing on your own personal device and installing through Xcode, you need a development provisioning profile and a development key. This development profile should be installed into Xcode, which will then install it onto your phone.
When you're distributing to a small number of others (for example, for beta testing, or if you wrote an app that's specialized for a specific customer), you need an ad-hoc profile and a distribution key. You'll need to send the ad-hoc profile to the user along with the app. The user can then drop both the profile and app into iTunes and sync their phone to install.
When you're distributing through the App Store, you need an App Store profile and a distribution key. Builds made in this way cannot be run on any device you control, but Apple's submission tools require them to be built using this profile.
So to answer your question: You need to provision your device, but it has to be a development provisioning profile, not an ad-hoc profile.
No, you don't need an Ad Hoc provisioning profile to debug an app, you only need a development provisioning profile and certificate for yourself on your device.
You need to provision the device, yes. IIRC you need to use Apple's online tool, and then provision it using Xcode, after which you will be able to debug it on the device.
See the first post on this blog for more.