iOS設備的uuid是否會隨着軟件更新或其他相關信息而發生變化?iOS設備的uuid是否隨軟件更新而改變?
1
A
回答
1
不,它不會改變。但請注意,現在是deprecated(可能是由於隱私問題)。
0
您可以創建自己的'UUID',只要您的應用程序在設備上,該UUID就會一直存在。
+ (NSString *)localUuid {
NSString *ident = [[NSUserDefaults standardUserDefaults] objectForKey:@"unique identifier stored for app"];
if (!ident) {
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
ident = [NSString stringWithString:(NSString *)uuidStringRef];
CFRelease(uuidStringRef);
[[NSUserDefaults standardUserDefaults] setObject:ident forKey:@"unique identifier stored for app"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return ident;
}
但是這不會給你一個唯一的ID,你可以在應用程序中使用的原因很明顯。另外alternative is using the MAC address
#import <sys/types.h>
#import <sys/socket.h>
#import <sys/sysctl.h>
#import <sys/time.h>
#import <netinet/in.h>
#import <net/if_dl.h>
#import <netdb.h>
#import <errno.h>
#import <arpa/inet.h>
#import <unistd.hv
#import <ifaddrs.h>
#if !defined(IFT_ETHER)
#define IFT_ETHER 0x6
#endif
@implementation MACIdentify
- (NSString*)MACAddress {
NSMutableString* result = [NSMutableString string];
BOOL success;
struct ifaddrs* addrs;
const struct ifaddrs* cursor;
const struct sockaddr_dl* dlAddr;
const uint8_t * base;
int i;
success = (getifaddrs(&addrs) == 0);
if(success)
{
cursor = addrs;
while(cursor != NULL)
{
if((cursor->ifa_addr->sa_family == AF_LINK) && (((const struct sockaddr_dl *) cursor->ifa_addr)->sdl_type == IFT_ETHER))
{
dlAddr = (const struct sockaddr_dl *) cursor->ifa_addr;
base = (const uint8_t *) &dlAddr->sdl_data[dlAddr->sdl_nlen];
for(i=0; isdl_alen; i++)
{
if(i != 0)
{
[result appendString:@":"];
}
[result appendFormat:@"%02x", base[i]];
}
}
cursor = cursor->ifa_next;
}
freeifaddrs(addrs);
}
return result;
}
@end
0
不,它不。它將永遠保持不變。
-1
在運行Apple股票操作系統的iOS設備上,UDID從不改變。
在運行根/修改操作系統的設備上,任何API返回的值都可能是聰明的修飾符想要的值。
相關問題
- 1. 約束條件不隨設備方向更改而更新
- 2. 用於ios設備的UUID
- 3. iOS CoreBluetooth與UUID重新連接設備
- 4. 是否更改iOS軟件包顯示名稱,作爲用戶設備上的新應用下載?
- 5. UUID和設備令牌是否相同?
- 6. 獲取BLE IOS外設的UUID,而不是服務UUID
- 7. MPMusicPlayerController是否隨iOS 5更改?
- 8. 數據庫是否隨新更新而改變iPhone應用程序
- 9. 在隨後的更新中,liquibase變更集排序更改是否更改?
- 10. iOS:更改設備體積
- 11. 更改iOS設備日期
- 12. 將iOS測試設備更新爲最新的iOS版本點是否安全?
- 13. iOS設備 - 數據更新
- 14. 設備UUID上
- 15. 文件時間戳不隨數據更新而改變
- 16. 設備方向將改變而不是已經改變
- 17. SystemSoundID有時會隨着設備音量而改變
- 18. 如何唯一標識iOS設備而不是使用UUID和UDID
- 19. 瞭解設備是否具有軟鍵
- 20. iOS設備上的語言更改
- 21. iOS - 用戶界面不會隨着設備旋轉變化而變換
- 22. fgets的n參數的含義是否隨時間而改變?
- 23. 更改鍵盤方向而不翻轉iOS設備
- 24. 查找設備的UUID - UniqueDeviceID插件
- 25. 更改iOS應用程序語言,而無需重新啓動設備
- 26. Windows 8.1中的TransformToDevice轉換是否隨DPI設置而變化?
- 27. iOS - iBeacon - 使用程序更改UUID
- 28. 改變方向而不旋轉設備
- 29. iOS - 用設備方向更改視圖
- 30. 更改iOS模擬器設備名稱
這不是他所問的。 – Abizern 2011-12-31 16:20:38
另外,正如@HaggleLad在[我對另一個問題的回答](http://stackoverflow.com/a/6993440/400056)的評論中指出的那樣,出於隱私原因,原樣使用MAC並不是一個好主意。它應該被混淆,例如通過用MD5或SHA1對其進行哈希處理。 – DarkDust 2011-12-31 16:48:40