I'm developing an app for my company and we're going through the process of slowly letting people into the "beta" by adding their iPads to the company's iOS Dev Center accounts. From there we do an ad hoc build for local Intranet distribution.
At my last gig, I would direct people to one of those "find my UDID for me" apps, then get them to send me the UDID it found.
iOS 7 has cut this off - those apps are all gone now and if you do still have one, it returns some GUID that has nothing to do with the UDID.
So what I'm having to do is connect each of these things to my Mac, then get the UDID from iTunes, which is kind of a hassle (but less tedious than trying to explain to them how to get it from iTunes, assuming they even have it installed). And sometimes it tries to sync with my Mac, which doesn't seem to have any effect other than putting on provisioning profiles I don't want on the device. And at least once I've had an iPad just suddenly decide to upgrade itself from iOS 6 to iOS 7 which I'm not sure is related to being plugged in (and in this case the user didn't want it upgraded).
So is there any other way to get the UDID from the iPad other than plugging it into a machine?
TO BE CLEAR: I'm not trying to get the UDID in an app, I'm just trying to think of the quickest way to get the UDID to add to the device list in our developer profile for distribution.
This question is related to
ios7
itunes
provisioning-profile
udid
If you are using a mac, you can get the UUID out of the "System Report" available from "About this Mac." With the device attached, open the USB section and click on iPhone. The UUID appears under "Serial Number"
Steps to find the UDID from IPhone and IPad Without Using itunes
Open below link in your iPhone or iPad : - http://get.udid.io/
Click on the Button Green color - Tap to find UDID
Get your UDID will Appear, Click on the right side top INSTALL button
4 . UDID will appear Copy the UDID.
Please use test flight to obtain UDID from testers but not using untrusted source e.g. http://get.udid.io/
You can 1. Invite testers in email from test flight webpage. Testers open the link in email and install a profile from test flight. Therefore developers can obtain UDIDs on the test flight webpage. 2. Add those UDIDs on the Apple provisioning portal.
(Ref: http://help.testflightapp.com/customer/portal/articles/829537-how-does-it-work-)
The process doesn't require testers to use Mac/ PC to obtain UDID (more convenient). And I think test flight is a company that can be trusted (no worries when passing UDID to this company).
I have tested this method and it works on iOS 8.
We can use identifierForVendor for ios7,
-(NSString*)uniqueIDForDevice
{
NSString* uniqueIdentifier = nil;
if( [UIDevice instancesRespondToSelector:@selector(identifierForVendor)] ) { // >=iOS 7
uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else { //<=iOS6, Use UDID of Device
CFUUIDRef uuid = CFUUIDCreate(NULL);
//uniqueIdentifier = ( NSString*)CFUUIDCreateString(NULL, uuid);- for non- ARC
uniqueIdentifier = ( NSString*)CFBridgingRelease(CFUUIDCreateString(NULL, uuid));// for ARC
CFRelease(uuid);
}
}
return uniqueIdentifier;
}
--Important Note ---
UDID and identifierForVendor are different:---
1.) On uninstalling and reinstalling the app identifierForVendor will change.
2.) The value of identifierForVendor remains the same for all the apps installed from the same vendor on the device.
3.) The value of identifierForVendor also changes for all the apps if any of the app (from same vendor) is reinstalled.
Plug it in, and run this from the command line:
system_profiler SPUSBDataType
Look for:
Serial Number: xxxx
Navigate to http://get.udid.io/ from Safari on your iOS device. It works like a charm and requires neither iTunes nor any other computer. No app installed either.
EDIT:
Also, have a look at Getting a device UDID from .mobileconfig if you (understandably) would rather have this .mobileconfig certificate hosted on a server of yours.
MAKE YOUR OWN:
Have a copy of the .mobileconfig example hosted on your server and write 2-3 small scripts in your favorite language to handle the following flow:
Remark: You should probably have some user friendly messages. Specifically, we even have a step 0. where the user is asked to provide their name and e-mail that we store temporarily in the HTTP session and then redirect the request to the mobileconfig profile. We ultimately match this info with the iPhone data and send a friendly confirmation e-mail. HTH.
enroll.mobileconfig
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<dict>
<key>URL</key>
<string>http://support.devcorp.com/uuid/returnurl/</string>
<key>DeviceAttributes</key>
<array>
<string>DEVICE_NAME</string>
<string>UDID</string>
<string>PRODUCT</string>
<string>VERSION</string>
<string>SERIAL</string>
</array>
</dict>
<key>PayloadOrganization</key>
<string>DevCorp Inc.</string>
<key>PayloadDisplayName</key>
<string>Profile Service</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>C5FB9D0D-0BE7-4F98-82CC-5D0EA74F8CF8</string> <!-- any random UUID -->
<key>PayloadIdentifier</key>
<string>com.devcorp.profile-service</string>
<key>PayloadDescription</key>
<string>This is a temporary profile to enroll your device for ad-hoc app distribution</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
sample .plist POSTed by the iPhone to the given URL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PRODUCT</key>
<string>iPhone4,1</string>
<key>SERIAL</key>
<string>DNPGWR2VCTC0</string>
<key>UDID</key>
<string>b01ea7bc2237fed21bfe403c6d2b942ddb3c12c3</string>
<key>VERSION</key>
<string>11A465</string>
</dict>
If any of your users are running linux they can use this from a terminal:
lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2
This gets the all the information for your connected usb devices and prints lines with "Apple Inc" including the next 2 lines.
The result looks like this:
iManufacturer 1 Apple Inc.
iProduct 2 iPad
iSerial 3 7ddf32e17a6ac5ce04a8ecbf782ca509...
This has worked for me on iOS5 -> iOS7, I haven’t tried on any iOS4 devices though.
IMO this is faster then any Win/Mac/Browser solution I have found and requires no "software" installation.
Hope this would help:
-> And that serial number is UDID
Found a nice way to handle it: Add the app to testFlight.com and give the link to the user you want his UDID. He will see an error message saying "your device UDID: xxxxxx is not registered" and the UDID will be the correct one.
Or use my solution here www.my-mo.co.uk/device/deviceinfo.php will let you access UDID and email it to whoever you choose too.
TestFlight seems to be able to extract the UDID once the user signs up:
Have them create a testflightapp.com account.
This is very useful for beta testing - which I'm guessing is what you need the udids for.
You can send them a download link to your app (found in the permissions tap at the bottom of the page) and it will tell them their udid hasn't been validated yet. It will then tell them their udid! They can copy and paste this and text it to you.
I think iTunes looks to be the only answer, which is extremely unfortunate.
Try this online tool http://www.easy-udid.com. I tested it on various iOS devices (iOS 6 and 7) and it works fine. Handful tool to quickly add customer's UDID in developer's profile
I have been using iPhone Configuration Utility to read the UDIDs and install the Development app. Still works fine on iOS7
diawi.com has worked for me, no need for connecting iPhone with cable or etc.: just follow their "My Device" tab that will lead you to install their provision profile and then display the UDID and add option to send it by Email.
Please use udid.io in your device browser Or Please install iTools and conncet the device to get the correct UDID.
Adarsh E M
Source: Stackoverflow.com