2014-04-03 20 views
0

您好我需要在我的應用程序運行時生成的唯一鍵。這不是設備身份驗證,所有設備都應該生成相同的密鑰,因爲我需要將其硬拷到我的服務器中。任何帶有我的應用程序的設備都希望生成唯一的密鑰來向服務器發送請求,以確保請求來自我的應用程序。我認爲任何密鑰都可以使用我的App Store證書生成,是否有可能?因爲帶有我的應用的所有設備都應該只包含相同的證書。獨特的鍵我的應用程序在ios

請幫我解決這個問題。

回答

0

我用這個方法,用於生成唯一的密鑰

-(NSString *)guid { 
    // create a new UUID which you own 
    CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault); 

    // create a new CFStringRef (toll-free bridged to NSString) that you own 
    NSString *uuidString = (__bridge_transfer NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid); 

    // release the UUID 
    CFRelease(uuid); 

    return uuidString; 
} 
+0

是所有的設備應該給予相同的價值,它被蘋果接受? – Seeker

+0

此方法已被Apple接受。不,設備不會生成相同的ID。 –

+0

好的,謝謝我需要相同的ID。 – Seeker

0

你可以使用系統方法從蘋果

的NSString * strApplicationUUID = [[[的UIDevice currentDevice] identifierForVendor] UUIDString];

+0

是所有的設備應該給予相同的價值,它被蘋果接受?那麼ios版本會影響價值?這意味着ios 6和ios 7應該具有相同的價值? – Seeker

+0

大多數答案在這裏https://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instp/UIDevice/identifierForVendor – nerowolfe

+0

確定它返回相同的值爲所有設備和所有版本? – Seeker