Xcodeを使用してiOSデバイス識別子を検出することは可能です。私は一意の識別子をダウンロードした各アプリケーションに必要があります。私は乱数を生成すると考えましたが、同じ数を2回以上生成する可能性があります。誰でもアイデアはありますか?iOSデバイスの一意の識別子を作成しますか?
答えて
私はこれを行うにはかなり簡単な方法を見つけた、ここに方法です。
クラス名をNSString+UUID
と命名し、次にヒットします。その後
、とNSString+UUID.h
にコードを置き換える:ときにNSUserDefaultsを使用して、それを保存:あなたはUUID(すなわちを取得する必要がある場合、
@implementation NSString (UUID)
+ (NSString *)uuid {
NSString *uuidString = nil;
CFUUIDRef uuid = CFUUIDCreate(NULL);
if (uuid) {
uuidString = (NSString *)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
}
return [uuidString autorelease];
}
@end
:で
@interface NSString (UUID)
+ (NSString *)uuid;
@end
そしてNSString+UUID.m
でアプリが読み込まれます):
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NSString *userIdentifierKey = @"user-identifier"
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:userIdentifierKey] == nil) {
NSString *theUUID = [NSString uuid];
[defaults setObject:theUUID forKey:userIdentifierKey];
[defaults synchronize];
}
// additional application setup...
return YES;
}
UIDeviceクラスではappleがメソッドuniqueIdentifierを提供しましたが、現在は非推奨(iOS5の場合)のメソッドのdocumentationではuniqueIdentifierの使用方法がわかります。
すると、この
- (NSString *)getDeviceID
{
NSString *uuid = [self gettingString:@"uniqueAppId"];
if(uuid==nil || [uuid isEqualToString:@""])
{
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
if (theUUID)
{
uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID));
[self savingString:@"uniqueAppId" data:uuid];
[uuid autorelease];
CFRelease(theUUID);
}
}
return uuid;
// this is depreciated
// UIDevice *device = [UIDevice currentDevice];
// return [device uniqueIdentifier];
}
このUIDevice-with-UniqueIdentifier-for-iOS-5を試してみてください、それが一意の識別子として、デバイスのMACアドレスを使用しています。
押しCOMMAND + NとCocoa Touch Class
を選択:
MACアドレスが一定であるかどうか知っていますかWi-Fi接続やセルラー接続、またはユーザがあるタイプのネットワークから別のタイプのネットワークに切り替えると変化しますか? – Crashalot
iOS6では、[[[UIDev氷がcurrentDevice] identifierForVendor] UUIDString]
このプロパティの値は、同じデバイス上で実行されている 同じベンダーから来たアプリケーションについても同様です。さまざまなベンダーのものと同じデバイス上のアプリの場合は 、ベンダーの異なるデバイスの場合は アプリの場合は、異なる値が返されます。
あなたがのUIApplication、UIDeviceのカテゴリを作成するか、この(ARC例)のようにprefereなどができ
@interface UIApplication (utilities)
- (NSString*)getUUID;
@end
@implementation UIApplication (utilities)
- (NSString*)getUUID {
NSUserDefaults *standardUserDefault = [NSUserDefaults standardUserDefaults];
static NSString *uuid = nil;
// try to get the NSUserDefault identifier if exist
if (uuid == nil) {
uuid = [standardUserDefault objectForKey:@"UniversalUniqueIdentifier"];
}
// if there is not NSUserDefault identifier generate one and store it
if (uuid == nil) {
uuid = UUID();
[standardUserDefault setObject:uuid forKey:@"UniversalUniqueIdentifier"];
[standardUserDefault synchronize];
}
return uuid;
}
@end
UUID()
NSString* UUID() {
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
return (__bridge NSString *)uuidStringRef;
}
この機能であります
これは、NSUserDefaultに格納された一意の識別子を生成して、アプリケーションが必要とするときに再利用できるようにします。 rはデバイスにインストールされていないアプリケーションに固有のものですが、APNサービスなどを購読しているデバイスの番号を追跡するために使用できます。
あなたはこの方法でそれを使用することができた後:
NSString *uuid = [[UIApplication sharedApplication] getUUID];
使用この:すでにSO上で提供されるこのanswer
- 1. iOSコアデータオブジェクトの一意の識別子?
- 2. JavaScriptで(UDID以外の)識別子を生成してiOSデバイスを一意に識別
- 3. iOSデバイスを一意に識別できますか?
- 4. SQLを使用して一意の識別子を作成
- 5. 一意の識別子の関連テーブルを作成する
- 6. 一意のフォルダ識別子
- 7. 周辺BLEデバイスの一意の識別子
- 8. iOSデバイス識別子を取得する
- 9. 特定のユーザのデバイスを一意に識別します
- 10. カスタム一意識別子カレンダーイベント
- 11. ノードレッド一意識別子
- 12. Windowsのユーザープロファイルの一意の識別子
- 13. スケジュール通知の一意識別子Swift 3 iOS 10
- 14. テーブル間の一意の識別子
- 15. Android携帯の一意の識別子
- 16. ワードプレスサイトの一意の識別子
- 17. NSManagedObjectの一意の識別子
- 18. Dropbox内の一意のファイル識別子
- 19. iCloud/CloudKitユーザの一意の識別子
- 20. iphoneコアデータ内のエンティティの一意の識別子を作成する方法
- 21. 短縮一意の識別子
- 22. ドローン一意の識別子 - モバイルSDK
- 23. Angular.js ng-repeat一意の識別子
- 24. javascriptにオブジェクトの一意の識別子がありますか?
- 25. MYSQLで一意の識別子フィールドを持つテーブルを作成する方法
- 26. iOSの - 識別子
- 27. IOS上でアプリケーションの一意の識別子を取得する方法
- 28. iOS用のAdobe AIRで一意の識別子(MACアドレス、UDIDなど)を取得
- 29. Windows WMI - 各ハードウェアコンポーネントの一意の識別子を確認しますか?
- 30. AndroidでContextMenuの一意の識別子を取得しますか?
様々なソリューションに見てみる詳細については
[[UIDevice currentDevice] identifierForVendor]
、これを試してみてくださいスレッド http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now –