我正在开发一个iPhone应用程序,它将在企业中安装很少的第三方应用程序.我有关于包ID的信息.有没有办法使用一些系统API判断应用程序是否已经安装?当前再次安装应用程序,覆盖当前安装.我需要以某种方式防止这种情况.(如果应用程序已经安装,苹果的AppStore应用程序将禁用安装选项.)
我正在开发一个iPhone应用程序,它将在企业中安装很少的第三方应用程序.我有关于包ID的信息.有没有办法使用一些系统API判断应用程序是否已经安装?当前再次安装应用程序,覆盖当前安装.我需要以某种方式防止这种情况.(如果应用程序已经安装,苹果的AppStore应用程序将禁用安装选项.)
我认为这是不可能直接实现的,但如果应用程序注册uri方案,你可以测试它.
例如,facebook应用程序的URI方案是fb://
.你可以在信息中注册.你的应用程序列表.[UIApplication canOpenURL:url]
将告诉您某个url是否会打开.因此,如果测试fb://
是否会打开,将表明安装了一个注册了fb://
的应用程序——这对facebook应用程序来说是一个很好的提示.
// check whether facebook is (likely to be) installed or not
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) {
// Safe to launch the facebook app
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"fb://profile/200538917420"]];
}