Why my UDID only 39 chars - iphone

I know that UDID have 40 chars. But when I connect my iPhone5 to iTune and check the UDID, only 39 chars shown. The UDID seperated to two lines, the first line contain 20 chars but the second line only 19 chars.
Does anyone know what happen on my iPhone UDID?

There is another way to look up the UDID.
If you use a Mac you can do it with the following steps:
-Connect iPhone via USB
-Open Launchpad
-Others
-Systeminformation
-Hardware
-USB
-Iphone
-Serial number

Related

iPhone Xs and Xs Max no UDID showing on iTunes?

UDIDs are not showing in the latest version of iTunes 12.9 with iPhone Xs and Xs Max running iOS 12.
Does anyone know how to obtain the UDID from the new iTunes?
So far I managed to get a 24-digit code from Xcode. I am using iPhone Xs Max, the device is showing up as an iPhone 4 in Xcode!
It seems like Apple has changed the UDID format from 40 digits to 24 digits, and a hyphen has to be added after the first 8 digits for the registration to work. e.g. 00008020-
Note: the code that shows in Xcode does not include the “-“, it needs to be added manually. It will not work if you paste the 24-digit code onto the device registration page.
Just wondering if anyone managed to get the UDID on iTunes without using Xcode? Or third party softwares?
This is the method I used so far:
Connect iPhone to Xcode.
Windows - Devices and simulators.
Copy the 24-digit indentifier code.
Add a hyphen after the first 8 digits.
Register on the apple dev account device list.
Let us know if there is an easier way.
Hope this helps, and can save people some time.
For a non-Xcode answer, see https://stackoverflow.com/a/52473809/3303337. Quoting that answer:
Go to "->About This Mac".
Click on "System Report" and select "USB".
Find your phone and the "Serial Number" field is what you are after.
Copy this value and paste it into the developer portal when you register a new device.
Then just inject a dash after the first 8 digits.
In fact, the format has changed, it's like that now :
00007020-0018598X0X90003X
It's called "Identifier" in :
Xcode > Window > Devices & Simulators
Source : https://iphonesoft.fr/2018/10/08/apple-change-format-udid-l-iphone-xs
You can easily get UDID as well as other device information by using the app called "Apple Configurator 2".
Here is the app link.
https://itunes.apple.com/us/app/apple-configurator-2/id1037126344?mt=12.
Here is the screenshot.
Like dpalmer's answer, you can use the System Report. To get the System Report's serial number on the Terminal without as much clicking, you can paste in this command:
system_profiler SPUSBDataType -detailLevel mini | \
grep -e iPhone -e Serial | \
sed -En 'N;s/iPhone/&/p'
Output:
2018-10-25 12:57:06.527 system_profiler[23461:6234239] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe0003a3e
iPhone:
Serial Number: 3aeac....4145
You may ignore the failed 0xe0003a3e part and get the Serial Number: 3aeac....4145
From my blog post on the topic, that includes methods to get the UDID on Windows as well: https://deciphertools.com/blog/2014_11_19_how_to_find_your_iphone_udid/
As everyone notes, you need to manually stick in the hyphen after the first eight digits.

How can I get the actual payload that the phone downloads when it installs my app from the app store?

I want to inspect the payload to answer questions like, is the whole __TEXT segment encrypted or just the __text section? The furthest I've gotten is, with a jailbroken phone, disabling SSL and then sniffing the download. However, that requires me to be on wi-fi, and on wi-fi, it downloads a pre-thinned version of the app that's larger. This is OK, except that I want to see what a fully thinned version looks like and see how close it is to the 100 MB WWAN limit. When I do find / -name '*.ipa', I don't find the app. So I guess it's immediately decompressing the .ipa upon download and then deleting it? But in that case, I don't know how to intercept it.
To get an iOS app .ipa (zipped bundle) file, just download the app from the App Store using iTunes on a Mac.
Added: Or download with Apple Configurator 2 on a Mac.
It might be easier on a Mac to sniff the ipa file read when installing an app from macOS iTunes to an iOS device (during a Sync).

iOS Provisioning Profile not installing on one particular device

I recently have distributed an app for testing, and the test team are having a problem installing the app, more specifically the provisioning profile associated with the app.
They are using an iPhone 4 (iOS 5.1.1) and are getting "Could not install the provisioning profile due to an unknown error"
I am used to seeing this when a UDID is not registered against the profile which is trying to be installed, but they are adamant that they have supplied the correct UDID. In terms of the profile, both looking at provisioning on the iOS Dev account, and opening in a text editor confirms that the UDID that has been supplied is definitely present.
My question is, are there any known issues (other than wrong UDID supplied) which could cause this to occur on a device, even if that device is authorised to install that particular provisioning profile?
Thanks
This won't answer your question because your problematic device is iOS-5.1, but it may help lots of other people:
Another possible issue since iOS7 is where did you find UDID. As Apple says:
In iOS 7, apps that are already on the store or on users’ devices that call this removed API will no longer be returned the UDID. Instead, -[UIDevice uniqueIdentifier] will return a 40-character string starting with FFFFFFFF, followed by the hex value of -[UIDevice identifierForVendor].
Consequetly, check the UDID your client/collaborator sends to you: if it begins with FFFFFFFF, thats a wrong one.
The only & unique method to get UDID under iOS7 is to plug your device to a computer, launch iTunes (or Xcode) and copy the displayed UDID.
Looks like the UDID which is generated programmatically gives a random alphanumeric code from iOS 7. So to make sure you are using the right one, connect it to iTunes and then copy the UDID.
There may be few reasons behind that because information is not enough so i can just guess -
If you're getting any boot strap error in console then delete app from device then switched OFF your device then ON and try again.
May be in your device there is already an app having same profile so your app would overwrite on previous one and new app would not be install.
Last It might be provisioning profile issue. Make it again.

does an iphone UDID have an integrated checksum

Do apple's iPhone / iPad UDID's contain a checksum ?
I'm asking because I'm wondering if it would be possible to add non-existant or "wrong" UDID's to the Devices list at the developer portal.
thanks for your help
sam
As far as I can see, the answer is no. Just had one provided by a client and one digit was wrong. We built the app and found it didn't install on the phone. Lesson learned - we now ask for a screenshot of the UDID so we can be sure it is entered correctly.

iPhone SDK "loading" on Titanium Developer

I have tried this question on the site of Titanium and several tweets to their account, but they either ignore me or refuse to answer.
I want to start using their framework, but for some reason the iPhone SDK is always "loading" when in the "TEST & PACKAGE" tab.
Have you guys found a fix for this? I have:
Snow Leopard 10.6.3
Titanium Developer 1.2.1
iPhone SDK 3.2
All the certificates "blah blah" from Apple because I am able to test and deploy apps on my device using XCode.
Help please :)
Do you have a name with non-ASCII characters?
There is a bug regarding developer certificates with non-ASCII characters in them.
I've filed a bug report, to Appcelerator's Lighthouse site:
My name has a character with umlaut (ö) which prevents prereq.py from doing what it should. Titanium only says "Loading..." in the SDK version select box.
The patch attached to the page, which changes json parser into simplejson, helps the python script to pass. I run it in console and get the expected output:
'{"wwdr": true,"ipad": false,"sdks": ["3.1","3.1.2","3.1.3"],"iphone_dev_name": ["Björn Söderqvist (XXXXXXXXXX)"],"iphone_dist_message": "Missing iPhone Distribution Certificate","wwdr_message": null,"itunes_message": null,"itunes": true,"iphone_dev_message": null,"iphone_dev": true,"iphone_dist": false,"itunes_version": "9.0.3"}'
Titanium app still reads the output wrong though.
It works if I copy-paste the console output of patched prereq.py like so:
(line 877 of packaging.js)
var d = '{"wwdr": true,"ipad": false,"sdks": ["3.1","3.1.2","3.1.3"],"iphone_dev_name": ["Björn Söderqvist (XXXXXXXXXX)"],"iphone_dist_message": "Missing iPhone Distribution Certificate","wwdr_message": null,"itunes_message": null,"itunes": true,"iphone_dev_message": null,"iphone_dev": true,"iphone_dist": false,"itunes_version": "9.0.3"}'
https://appcelerator.lighthouseapp.com/projects/32238/tickets/646-iphone-sdk-problem-with-non-ascii-characters-in-development-certificate
Unfortunately, the link I refer to in the post does not work anymore. The suggested patch was to do the following to prereq.py:
Line 8
#import json, run, tempfile, codecs
import poorjson, run, tempfile, codecs
Line 139 (replace last line of check_for_package() with this)
print poorjson.PoorJSON().dump(props)
Let me know if you need more specific information.