我怎么知道我的应用程序以前安装在手机上?

时间:2017-09-10 13:42:10

标签: android ios

我正在尝试创建一个只允许每个设备使用一个帐户的应用。现在我想知道的是手机的属性永远不会改变。起初我以为我可以在我的数据库中保存设备的MAC地址,但我在SO中的一个问题中读到,当我们尝试以编程方式访问MAC地址时,我们知道在每个设备上都有相同的常量。 我想知道什么永远不会改变Android设备的属性我可以编程访问。

另外在将来我想开发适用于iOS的应用程序,是否有我可以以编程方式访问的iOS手机的不变属性? 谢谢。

2 个答案:

答案 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,我不知道如何做到这一点。