如何检查iPhone之前是否安装了我的应用程序?

时间:2017-01-24 07:02:26

标签: ios swift3

我想知道用户以前是否在同一设备上安装了该应用。我可以检查某种独特的身份吗?

3 个答案:

答案 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/

代码:https://gist.github.com/miguelcma/e8f291e54b025815ca46

答案 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");

}