如何确定iOS设备的用户是否安装了特定的应用程序?如果我知道应用程序的名称,我可以以某种方式使用canOpenURL
?如何确定用户是否安装了iOS应用程序?
10
A
回答
11
如果应用程序支持自定义url方案,则可以检查UIApplication
-canOpenURL:
。这只会告诉你,一个应用程序能够打开该URL方案是可用的,不一定是那个应用程序。没有公开的机制来检查用户在其设备上安装了哪些其他应用程序。
如果您控制这两个应用程序,您可能还使用共享钥匙串或粘贴板更详细地进行通信。
8
您可以用这种方法检查,以及:
BOOL temp = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"yourAppURL://"]];
if(!temp)
{
NSLog(@"INVALID URL"); //Or alert or anything you want to do here
}
0
为SWIFT用户
let urlPath: String = "fb://www.facebook.com"
let url: NSURL = NSURL(string: urlPath)!
let isInstalled = UIApplication.sharedApplication().canOpenURL(url)
if isInstalled {
print("Installed")
}else{
print("Not installed")
}
0
Facebook的使用这个https://github.com/facebook/facebook-ios-sdk/blob/master/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.m内部,你可以做同样的
#define FBSDK_CANOPENURL_FACEBOOK @"fbauth2"
+ (BOOL)isFacebookAppInstalled
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
[FBSDKInternalUtility checkRegisteredCanOpenURLScheme:FBSDK_CANOPENURL_FACEBOOK];
});
NSURLComponents *components = [[NSURLComponents alloc] init];
components.scheme = FBSDK_CANOPENURL_FACEBOOK;
components.path = @"/";
return [[UIApplication sharedApplication]
canOpenURL:components.URL];
}
守则Swift 3
static func isFacebookAppInstalled() -> Bool {
let schemes = ["fbauth2", "fbapi", "fb"]
let schemeUrls = schemes.flatMap({ URL(string: "\($0)://") })
return !schemeUrls.filter({ UIApplication.shared.canOpenURL($0) }).isEmpty
}
相关问题
- 1. 如何检查用户是否安装了应用程序?
- 2. 如何确定网页用户是否安装了字体?
- 3. 知道是否为“所有用户”安装了应用程序
- 4. 如何找出用户是否安装了我的应用程序?
- 5. 如何检查之前是否安装了iPhone应用程序?
- 6. 如何在Safari中检测是否安装了应用程序
- 7. 如何确定iOS应用程序是否使用Flash构建?
- 8. 如何确定应用程序是否是Web应用程序
- 9. 如何检查是否使用Ant安装了特定的Django应用程序?
- 10. 有没有办法确定是否安装了iPhone/iPad应用程序?
- 11. 如何确定我是否正在运行侧装应用程序或商店安装的应用程序?
- 12. 如何检测iOS应用程序安装应用程序
- 13. 如何检测Android手机是否安装了特定的应用程序?
- 14. Facebook用户可以确定哪些朋友安装了应用程序吗?
- 15. 确定用户是否通过市场链接安装了我们的应用程序
- 16. 确定是否安装了SqlLocalDB
- 17. 确定是否安装了Flash OCX?
- 18. 检测用户是否安装了我的Chrome扩展程序?
- 19. 如何确定用户是否被重新安装在Android
- 20. 检测应用程序是否安装?
- 21. 确定应用程序是否是第一次使用Titanium安装
- 22. 检查用户是否已安装我的Facebook应用程序
- 23. 是否可以为用户安装facebook应用程序?
- 24. QuickTime Player是否需要通过iTunes安装iOS应用程序?
- 25. 如何以编程方式检查是否安装了应用程序?
- 26. android知道是否安装了应用程序
- 27. 检查是否安装了Facebook,LinkedIn和Gmail应用程序
- 28. 查询Windows是否安装了UpgradeCode应用程序
- 29. 检测是否从Play商店安装了应用程序
- 30. 检查是否安装了twitter应用程序
第一行没有为我编译,但是这样做: 'BOOL temp = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@“yourAppURL://”]];' – newenglander
我很抱歉,但是什么应用网址是?它是应用程序的名称还是什么? – ColdSteel