Kar*_*ngh 15 objective-c ios ios7
寻求你的帮助
获取设备标识符时我遇到了问题.实际上我使用的是UIDevice + IdentifierAddition.h,NSString + MD5Addition.h类来获取Identifier,但它为我的所有设备返回相同的标识符,即iPhone 4s(iOS 7.1)和iPhone 5(iOS 7.1.1).
任何人都可以解决这个问题.因为我想要一个特定于设备的东西.它是我的应用要求.
重要提示:我想在应用程序商店提交此应用程序,所以请回答必须符合指南
Muh*_*air 13
现在有可能在iOS 11.0+中,Apple引入了一个新的API DeviceCheck API
,开发人员可以通过它来唯一地识别设备.
使用DeviceCheck API,结合服务器到服务器API,您可以设置和查询每个设备的两位数据,同时保持用户隐私.您可以使用此数据来识别已经利用您提供的促销优惠的设备,或标记您已确定为欺诈的设备.DeviceCheck API还允许您验证您收到的令牌是否来自包含您的应用的正版Apple设备.
此外,请查看以下24分钟开始的以下WWDC17视频:https: //developer.apple.com/videos/play/wwdc2017/702/
编辑:
有关此Device Check
主题的详细教程可在此处找到.
在目标c
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
Run Code Online (Sandbox Code Playgroud)
在斯威夫特
var uniqueId=UIDevice.currentDevice().identifierForVendor.UUIDString as String
println("Your device identifires =>\(uniqueId)")
Run Code Online (Sandbox Code Playgroud)
不幸的是,当您卸载应用程序时,identifierForVendor会发生更改,以确保它不会更改,并将其保存在钥匙串中
我用pod'SSKeychain'主页:https://github.com/soffes/sskeychain
这是代码
+ (NSString *)getDeviceId {
NSString *appName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];
NSString *strApplicationUUID = [SSKeychain passwordForService:appName account:@"MY_KEY"];
if (strApplicationUUID == nil) {
strApplicationUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
[SSKeychain setPassword:strApplicationUUID forService:appName account:@"MY_KEY"];
}
return strApplicationUUID;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26407 次 |
最近记录: |