Upvote:1
You have to use Keychain to store Unique Id , this will not change even if user delete app
You can use any wrapper Source code to do this
here is an example https://github.com/Joe0708/KeychainUUID
More Answer related to the Same Query
- HOW CAN I GET IDENTIFICATION STRING LOOK LIKE IMEI IN IOS IN IOS
- SWIFT - NUMBERFORMATTER NUMBER FROM STRING RETURNS NIL FOR IPHONE 8 BUT WORKS FOR OTHER DEVICE IN IOS
- HOW TO UPLOAD DOCUMENT LIKE PDF , .TXT FROM IPHONE PROGRAMATICALLY IN SWIFT? IN IOS
- CONVERT STRING OF FORMAT "19-07-2018 08:10:24" IN DATE AND TIME BOTH DIFFERENT STRING FORMAT IN IOS
- WHY THE RESULT OF MY DATE OBJECT ALWAYS SEVERAL HOURS BEHIND THE ACTUAL STRING THAT I WANT TO CONVERT? IN IOS
- HOW TO REVERSE A STRING WITHOUT USING REVERSE() FUNCTION, WANTING THE REVERSE TO BE WORD BY WORD NOT FROM LAST INDEX TO THE FIRST INDEX IN SWIFT IN IOS
- IOS IMAGE VIEWER OR PREVIEW EXACT LIKE PHOTOS APP USING COLLECTION VIEW (PAGING ENABLED) WITH MINIMUM LINE SPACING IN IOS
Upvote:1
At the beginning I'd like to mention that I do not know any method that directly answers your question, especially that Apple does not allow you to read IMEI and other similar stuff due to privacy concerns. This has been answered here.
The workaround might be as follows
Take a look at the UIDevice
class, especially at the identifierForVendorProperty
which provides you (according to documentation ) with a device specific value.
The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor.
As far as i know some financial apps are secured this way to permit only one device to access the account. This however requires registering a device each time application is reinstalled.
Alternatively you can use UUID you generate within your app (first run) and then you assign it for the user online. It might take the form similar to two step verification process. Be aware however that with such restrictions user will have to be online all the time to use your app.
Credit Goes to: stackoverflow.com
Related question with same questions but different answers
- HOW TO ACHIEVE LINEARLAYOUT LIKE LAYOUT IN FLUTTER? IN IOS
- USING AWK LIKE PROCESSING INSIDE XCODE IN IOS
- EXTRA SPACE IS ADDED AT THE BOTTOM OF TEXT IN UITEXTVIEW WHEN STRING IS PASTED INTO IT IN IOS
- CANNOT CONVERT VALUE OF TYPE STRING TO SPECIFIED TYPE NSMANAGEDOBJECTCONTEXT, WHILE CONVERTING FROM SWIFT 2.3 -> 3.2 IN IOS
- BINARY OPERATOR CANNOT BE APPLIED TO OPERANDS OF TYPE INT AND STRING - SWIFT 2.3 -> SWIFT 3.2 CONVERSION ERROR IN IOS
- HOW DO I CONVERT STRING TYPE DATA TO INTEGER TYPE DATA FROM FIREBASE DATABASE IN IOS & SWIFT LANGUAGE IN IOS
- SWIFT 4: WHEN A USER CLICKS ON A UIBUTTON HOW DO I GRAB THE STRING THAT IS SELECTED IN A UICOLLECTIONVIEW? IN IOS
- HOW TO CONVERT STRING TO INT WITHOUT SKIP FIRST ZEROS'S SWIFT? IN IOS
- IN-APP PURCHASE IN APPLICATION IN IOS
- HOW DOES THIS SWIFT CODE WORK ??!! IN IOS
- HAVING 2 TEXTFIELD.DELAGATE = SELF CANCELS ONE OF THEM OUT IN IOS
- STATIC BARBUTTONITEMS IN A NAVIGATION CONTROLLER? IN IOS
- UIIMAGEVIEW IN UISCROLLVIEW DOES NOT ZOOM CORRECTLY IN IOS
- TRANSPORT DATA OVER TWO VIEWCONTROLLER IN IOS
- JENKINS IOS BUILD FOR BOTH SIMULATOR AND DEVICE IN IOS
- PREVENT POPPING VIEWS WHEN RESELECTING UITABBAR ITEM IN IOS
- HOW TO USE SELECTOR ON OBJECT INSTANCE IN SWIFT IN IOS
- SWIFT - RESTARTING AN ANIMATION AFTER CLICKING A BUTTON IN IOS
- DETECTING TAP GESTURE THAT IS NOT ON A UISUBVIEW IN IOS
- DOWNLOAD VIEWCONTROLLER FROM URL IN IOS
- HOW TO DELETE CHILD RECORD FROM FIREBASE IN SWIFT? IN IOS
- HOW TO ADD PUSH NOTIFICATIONS ON IOS IN IOS
- GOOGLE VISION IMAGE LABELING API ERROR IN IOS
- DISPLAY A RESPONSIVE IMAGE AND LABEL IN A TABLE FOR IOS IN IOS
- UITABLEVIEW BECOMING NIL WHEN UISEARCHBAR IS USED IN IOS
- WHY I NEED REQUIRED INITIALIZER WHEN CREATING REALM DATA MODEL? IN IOS
- NSUNKNOWNKEYEXCEPTION EVEN THOUGH OUTLETS ARE DEFINED IN IOS
- CHANGE MKMAPVIEW'S ZOOM - SWIFT 4 IN IOS
- SWIFT AND SPRITEKIT: HOW TO IMPLEMENT NON-FUZZY CIRCLE TIMER WITH SKSHAPENODE IN IOS
- HOW TO USE UIACTIVITYINDICATORVIEW IN TABLEVIEW AFTER FINISH DATA FETCHING IN IOS
- HOW DO I ENCODE A LARGE DATA OBJECT FOR A URL IN SWIFT? IN IOS
- RETRIEVE VALUES AS PER INDEX OF ANOTHER ARRAY IN IOS
- VALUE OF TYPE 'UITABLEVIEWCELL' HAS NO MEMBER 'JOB' IN IOS
- SWIFT - HOW TO MAKE SIZE HEIGHT VIEW IN NAVIGATION CONTROLLER? IN IOS
- GETTING TROUBLE IN DISPLAY FLOAT VALUE WITH TWO DECIMALS AFTER POINT IN UILABEL IOS IN IOS
- WHERE CLAUSE IN EXTENSION OF A CLASS IN SWIFT WITH ENUM AND GENERICS IN IOS
- AUTHORIZATIONSTATUS RETURN A BOOL VALUE IN IOS
- IOS 11.4 NOT ASKING PRIVACY USAGE ( PRIVACY - MOTION USAGE DESCRIPTION HAS BEEN SET ) IN IOS
- CORE LOCATION PLIST NOT WORKING (XCODE 9.4/IOS 11.4) IN IOS
- DID ANYONE NOTICE AUDIO CONVERTER SERVICES CHANGED INTERNALLY ON IOS 11? IN IOS
- DETERMINE THE NAME OF THE SPRITE BY POSITION IN IOS
- ERROR TO REQUEST A CERTIFICATE FROM A CERTIFICATE AUTHORITY ON MAC KEYCHAIN ACCESS IN IOS
- LAYOUTIFNEEDED DOES NOT TRIGGER LAYOUTSUBVIEWS IN IOS
- RENDERING GIF IMAGES CAUSES EXTENSIVE MEMORY USAGE IN SWIFT? IN IOS
- HOW TO USE USERDEFAULTS.STANDARD SAVE CUSTOM DATA? IN IOS
- HOW HIDE BOTTOM TOOLBAR IN IOS
- DRAWING A DISMISS TRANSITION BENEATH THE TABBAR IN SWIFT 4 IN IOS
- DJI SDK GET RTK INFORMATION IN IOS
- SWIFT SEND REQUEST TO SERVER WHEN APP KILLED IN IOS
- IF PUSH NOTIFICATION CERTIFICATE EXPIRED THEN ALL EXISTING USER STOP GETTING NOTIFICATION? IN IOS
- CAN'T GET UIVEW SIZES IN IOS
- UIIMAGEVIEW + UIIMAGE VS CALAYER + CONTENT EFFICIENCY IN IOS