簡體   English   中英

NSUUID到NSString

[英]NSUUID to NSString

我需要以NSString格式從手機獲取deviceUUID。 現在我有這個:

NSString *deviceId = [UIDevice currentDevice].identifierForVendor;

因為我以前擁有的是:

NSString *deviceId = [UIDevice currentDevice].uniqueIdentifier;

現在給我一個錯誤。

但是在第一句話中,我收到了警報:

Incompatible pointer types initializing 'NSString *' with an expression of type 'NSUUID *'

正如錯誤告訴您的那樣, identifierForVendor返回類NSUUID的對象,而不是NSString。

如果你需要一個NSString使用這個:

NSUUID *identifierForVendor = [[UIDevice currentDevice] identifierForVendor];
NSString *deviceId = [identifierForVendor UUIDString];

對於任何想要如何將NSUUID轉換為NSString的人

ObjC

NSString *uuid = [[NSUUID UUID] UUIDString];

迅速

NSUUID().UUIDString

斯威夫特3

UUID().uuidString

EDITE:作為OP的要求,我重新打開我刪除的答案,我在這里提到@Matthias 答案是正確的,並且通過使用以下代碼,每次運行此代碼時都會得到新的device_id。

使用以下代碼:

CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidString = (NSString *)CFBridgingRelease(CFUUIDCreateString(NULL,uuidRef));
CFRelease(uuidRef);
NSLog(@"%@", uuidString);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM