Mc.*_*ver 2 iphone xcode objective-c ipad ios
我试图检测到设备上安装了Instagram的,以前我用这个代码来检测一个应用程序,但它似乎并不与iOS 6或非JB设备的工作:
NSString *filePath = @"/Applications/Instagram.app";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
[self checkingInstalledApp];
}
else
{
NSLog(@"no instagram installed");
}
Run Code Online (Sandbox Code Playgroud)
我查看这个问题,但他的回答给了我很多错误!任何解决方案
这是无效代码有两个原因.
1)它尝试与其沙箱之外的区域进行交互.
2)它依赖于未记录的实现细节(可能是安装位置已移动或应用程序名称已更改?)
你需要做的是使用canOpenURL:方法UIApplication来确定系统是否可以通过其自定义方案启动应用程序(注意:如果应用程序没有自定义方案,那么你运气不好)
自定义URL方案打开instagram://,然后是以下参数之一,将打开我们的应用程序并执行自定义操作.例如,对于相机,您可以将iPhone上的用户定向到自定义URL instagram://相机.
NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
[[UIApplication sharedApplication] openURL:instagramURL];
}
Run Code Online (Sandbox Code Playgroud)