iphone - 如果安装了应用程序,如何以编程方式检查?

标签 iphone objective-c cocoa-touch ipad ios4

我正在开发一个 iPhone 应用程序,它将在企业中安装少量第三方应用程序。我有关于捆绑 ID 的信息。有没有办法使用一些系统 API 来检查应用程序是否已经安装?目前应用程序再次安装,覆盖当前安装。我需要以某种方式防止这种情况。 (如果应用程序已经安装,Apple 的 AppStore 应用程序会禁用安装选项。)

最佳答案

我认为这是不可能直接实现的,但如果应用注册了 uri 方案,您可以对其进行测试。

一个 URI 方案例如是 Facebook 应用程序的 fb://。您可以在应用程序的 info.plist 中注册它。 [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"]];
}

关于iphone - 如果安装了应用程序,如何以编程方式检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3512228/

相关文章:

ios - Unwind Segue 在 iOS 8 中不起作用

objective-c - 获取一组 future 的 NSDates

iphone - UITableView 未执行到scrollViewDidScroll 或scrollViewShouldScrollToTop

iphone - Xcode 5 圆形矩形按钮

ios - 核心数据多线程性能

ios - 是否可以向 UISlider 拇指图像添加标签?

iphone - 如何延迟保存数据?

ios - 如何将自动布局 View Controller 渲染为位图?

iphone - 如何重置 iPhone 应用程序的钥匙串(keychain)?

java - Android 是否具有与 iOS 具有 UINavigationController 的 Activity 流相似的 Activity 流?