我想知道用户以前是否在同一设备上安装了该应用。我可以检查某种独特的身份吗?
答案 0 :(得分:4)
您可以使用共享钥匙串存储您的AppId和其他敏感信息,并在应用启动时获取。删除应用程序不会删除/清除钥匙串中的数据。您将以编程方式保存和清除数据。此外,来自同一家族的应用程序(由同一团队开发)只能从共享密钥链中读取数据,并且数据以加密形式保存,因此这是完全安全的。你可以按照下面的链接。 http://evgenii.com/blog/sharing-keychain-in-ios/
答案 1 :(得分:0)
用户可以随时在“设置”中更改identifierForAdvertising,如果此供应商的设备上没有其他应用,则在重新安装应用后,identifierForVendor会发生更改。
以下是获取或持久,交叉安装设备标识符的替代方案和最佳解决方案:
说明:https://blog.onliquid.com/persistent-device-unique-identifier-ios-keychain/
答案 2 :(得分:-2)
您可以通过以下代码检查iPhone中当前是否可以使用该应用。在这里,而不是字符串" yourappname://",您必须指定该应用的网址方案。您可以从this link找到URL方案的教程。
Swift代码
let appInstalled = UIApplication.shared.canOpenURL(URL(string: "yourappname://"))
if(appInstalled) {
print("It is installed")
}
else
{
print("It is not installed")
}
Objective-C代码
BOOL isInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"yourappname://"]];
if(isInstalled){
NSLog@("It is installed");
}
else{
NSLog@("It is not installed");
}