我的应用有iOS OpenVPN Connect 应用依赖。
所以我必须检查应用程序是否已经安装
如果是这样,我将使用OpenURL方案打开应用程序,否则我将打开其appstore链接,以便用户安装它。
所以我的问题是我找不到与此应用相关联的任何打开的网址。
感谢任何帮助!
答案 0 :(得分:2)
它导出一个doctype。所以你可以使用UIDocumentInteractionController来检查是否可以打开文件类型,从而安装了应用程序。
uti net.openvpn.formats.ovpn
将该类型的文件(您可以在OSX上创建此类文件)复制到该包并尝试使用 presentOpenInMenuFromRect
为其呈现交互控制器将自己设置为委托,如果它触发了willShowMenu,那么你没有应用程序在那里 - 并且你关闭了菜单。
所以为了让你开始这样的事情:
NSString *file = ... //path to file with UTI in question
UIDocumentInteractionController *c = ... //init with file
c.delegate = self;
_hasAppInstalledForUTI = NO;
[c present...];
if(!_hasAppInstalledForUTI) {
//act
}
...
- willPresentOpenInMenu {
[c dismissAnimated:NO];
_hasAppInstalledForUTI = YES;
}
顺便说一句:我检查了应用程序 - 没有网址方案。
答案 1 :(得分:1)
虽然听起来可能比较厚重,但我认为一种方法是给开发人员发电子邮件,询问他们是否有URL方案,或者是否会为其创建支持。它是双赢的,因为如果可以以新的方式利用它们的软件,它们更有可能被安装,并且您将获得所需的功能。
答案 2 :(得分:0)
要检查用户是否拥有该应用,您可以执行以下操作:
NSURL *url = "appScheme://"
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
else {
// can't open url
}
但并非所有应用都有网址方案。我知道我不知道。
如果您无法在网上找到任何内容,那么很可能没有。尝试联系开发人员,看看是否有一个开始,否则尝试找另一个有一个的应用程序,并使用那个。
答案 3 :(得分:0)
答案 4 :(得分:0)
我想你想从你的应用程序中打开“openvpn ios”应用程序。请检查以下链接:
http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-working-with-url-schemes/
按照说明的步骤操作,检查是否打开了应用程序。
答案 5 :(得分:0)
在openvpn://
中引入了对OpenVPN Connect 1.0.6
网址方案的支持,根据OpenVPN Connect FAQ,您可以使用此代码:
BOOL installed = [application canOpenURL:[NSURL URLWithString:@"openvpn://"]];
以下代码打开iTunes
以安装OpenVPN Connect(如果尚未安装):
UIApplication * app = [UIApplication sharedApplication];
BOOL installed = [app canOpenURL:[NSURL URLWithString:@"openvpn://"]];
if (installed) {
[app openURL: [NSURL URLWithString:@"openvpn://"]];
} else {
[app openURL: [NSURL URLWithString: @"https://itunes.apple.com/app/id590379981?mt=8"]];
}
EDITED:实际上这种方法不会工作,我刚刚测试过自己 - 问题是AppStore中OpenVPN Connect的已发布版本是 1.0.5 ,所以这个功能不可用((