Could use identifierforvendor as identifier? - ios10

follow this document. identifierforvendor is unique on the same app on the same device.
I want to ask. Is identifierforvendor unique each device?
https://developer.apple.com/reference/uikit/uidevice/1620059-identifierforvendor

Yes.
UUID is unique for each device for your applicaion. But it will be changed if user uninstalls your application. So lets say User installed your application and you get their UUID and it was abc123 or something. Now If they un-install an re-install your application. You will not get the same UUID as before. If you want to use UUID for identifying the user. Detecting whether this user previously installed your application or not requires you to use keychain.

Related

Is there any way to retrieve the UUID of an iPhone using Titanium?

The API documentations says that Titanium.Platform.getId() returns the UDID (unique device ID) for android but for iOS this is a unique identifier for a particular installation of the application. It also says that Apple has restricted the access to UUID.
However, if I need to retrieve a unique device ID for an iPhone, is there any way to do it? Or is it not possible at all?
There is no way to get any device unique identifiers in iOS 7 and up, Apple has restricted this due to privacy concerns. The trick to use the MAC address is also no longer working.
You options are the identifier for vender (the one Titanium.Platform.getId() returns).
This one is unique for the device as long as there is app on the device from the same developer.
Another option is to create a unique identifier and save it in the keychain, this way it will be saved there until the user full wipes it's iOS device.
No, you can't. Check this article for some more informations:
http://www.doubleencore.com/2013/04/unique-identifiers/

Register each unique iOS device?

I wish to create a User system based on each unique iOS device. This way, user don't have to register for my service and they can't delete and reinstall my app to become a "new user" again.
I wanted to use the UIDevice uniqueIdentifier but Apple has deprecated and asked us to use identifierForVendor. The problem with identifierForVendor is that if a user uninstalls my app and reinstalls it, they are view as a "new user" since the identifier changes.
OpenUDID & SecureUDID is also deprecated. Please help me solve this issue. Thank you.
You got it:
Apple has deprecated and asked us to use identifierForVendor
Apple did that to prevent you from tracking down users. Some time ago you were able to ask the system for its MAC address to get a kind of identifier but Apple also changed that API: Now all devices return the same MAC address when being asked.
So short answer: There is no way left for us to get an ID that is really unique and immutable, sorry. The only way to somehow track user's is by vendor ID, as you said, or by letting them register their eMail address. Even though they could change that information when reinstalling the app.

iOS Unique Identifier

How are we supposed to uniquely identify devices now that the UDID has been deprecated? I need to be able to uniquely identify a device even if the user uninstalls my app and then reinstall it. The new identifierForVendor doesn't work for this purpose because it will randomly generate again once the user uninstalls the app. I also can't use the MAC address to identify the device because it doesn't work in iOS 7.
The advertisingIdentifier seems to work for my purposes but I heard that if you're not actually using it for advertising Apple will reject your app?
Does anyone know of a way to reliably identify a device?
According to Apple, you should be using the vendor or advertising identifiers. Vendor doesn't work for you obviously, but you are fine to use advertisingIdentifier.
The advertisingIdentifier seems to work for my purposes but I heard that if you're not actually using it for advertising Apple will reject your app?
They are not currently rejecting apps for using avertisingIdentifier in place of uniqueIdentifier as a device ID. I just had a version of my app approved that uses advertisingIdentifier for purposes other than advertising. A bigger negative is that users can change this identifier any time they like, which is guaranteed to mess up your reporting.

How to get iPhone's Unique Identifier (UDID) using Phonegap?

How to get iPhone's Unique Identifier (UDID) using Phonegap ? Any code ?
You cannot get UDID from phonegap API as of now.
Why?
UDID is unique identifier for iOS devices and this is not there in other platforms such as Android, Windows etc. And hence phonegap cannot provide udid as its supposed to support all platforms.
Solution :
Phonegap API provides another unique identifier called uuid. This will be unique for each installation of the application.
Drawback : This unique key is a system generated one which is generated on each App boot(first launch of application). And hence you cannot determine the device properly. Uninstalling an application and installing it back again will regenerate a different udid.
URL : http://docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html#device.uuid
Hope this makes sense.
UUID (Universally Unique IDentifier) Is on a per-app basis. identifies an app on a device. As long as the user doesn’t completely delete the app, then this identifier will persist between app launches, and at least let you identify the same user using a particular app on a device. Unfortunately, if the user completely deletes and then reinstalls the app then the ID will change.
UDID (Unique Device Identifier) A sequence of 40 hexadecimal characters that uniquely identify an ios device. This value can be retrieved through iTunes, or found using UIDevice -uniqueIdentifier. Derived from hardware details like MAC address.
var string = device.uuid;
PhoneGap api docs are here if you need any more info...
http://docs.phonegap.com/phonegap_device_device.md.html#device.uuid

Is it possible to bundle a unique file for each copy of iPhone app downloaded from App Store?

I would like to verify the identity of each instance of the iPhone application that a user might use to connect to my service. To that end, I would like each instance of the iPhone app downloaded to include a certificate that I generate, or even some sort of UUID that I have generated. Does the App Store support the inclusion of unique files in an app bundle?
Or, must such identifiers be downloaded only after the app is installed? If that is the case, is there a mechanism to ensure that the app downloaded is trusted (from me), instead of from an impersonator?
I don't think it's possible to have unique packages per download. Why don't you use the UUID of the device for such checks?