iphone - 以编程方式检测已安装的应用程序

标签 iphone ios objective-c xcode ipad

我正在尝试检测我设备上安装的 Instagram,以前我使用此代码检测应用程序,但它似乎不适用于 iOS 6 或非 JB 设备:

NSString *filePath = @"/Applications/Instagram.app";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
{

    [self checkingInstalledApp];
}

else

{

NSLog(@"no instagram installed");

}

我检查 this question但他的回答给了我很多错误!任何解决方案?

最佳答案

这是无效代码有两个原因。

1) 它尝试与其沙箱之外的区域进行交互。

2) 它依赖于未记录的实现细节(可能安装位置已移动或应用程序名称已更改?)

您需要做的是使用 UIApplication 上的 canOpenURL: 方法来确定系统是否可以通过其自定义方案启动应用程序(注意:如果应用程序具有没有自定义方案那么你就不走运了)

关于iphone - 以编程方式检测已安装的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707729/

相关文章:

python - Xcode 在 iOS 中使用 Python.framework 时出错,架构 i386 的 undefined symbol

objective-c - Xcode代码签名错误: The identity 'iPhone Developer' doesn't match

iOS:如何在应用程序中存储用户名/密码?

iphone - 生成预览后 ARC 转换错误

iphone - 如何使用 CGLayer 在屏幕外绘制多个图像

iphone - UITableView 和 UILabel 重复

iphone - MPMoviePlayerController 播放 YouTube 视频

ios - 用 CAGradientLayer 替换 CALayer 不起作用

Objective-C : Endless UIScrollView without pagingEnabled

iphone - 使用多线程时如何锁定方法?