我正在尝试创建一个只允许每个设备使用一个帐户的应用。现在我想知道的是手机的属性永远不会改变。起初我以为我可以在我的数据库中保存设备的MAC地址,但我在SO中的一个问题中读到,当我们尝试以编程方式访问MAC地址时,我们知道在每个设备上都有相同的常量。 我想知道什么永远不会改变Android设备的属性我可以编程访问。
另外在将来我想开发适用于iOS的应用程序,是否有我可以以编程方式访问的iOS手机的不变属性? 谢谢。
答案 0 :(得分:0)
为此,您必须区分设备。
对于Android,您可以使用设备ID
对于IOS,您可以使用供应商ID link。
对于IOS:当您的应用程序被删除并重新安装时,供应商ID会发生变化,因此最好使用以下代码将您的供应商ID存储在钥匙串中。
-(NSString *)getUniqueDeviceIdentifier
{
NSString *yourAppName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];
NSString *applicationUUIDStr = [SSKeychain passwordForService:appName account:@“Your_App_Name”];
if (applicationUUIDStr == nil)
{
applicationUUIDStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
[SSKeychain setPassword:strApplicationUUID forService:appName account:@"Your_App_Name"];
}
return applicationUUIDStr;
}
答案 1 :(得分:0)
我很确定这些天你可以使用mac地址,但是如果你没有尝试IMEI,我不知道如何做到这一点。