我正试图通过safari中的链接打开我的原生iPhone应用程序。我已按照this link创建了一个url架构。我已将appgo://
添加为我的网址架构,将com.xxxx.appgo添加为网址类型下的标识符。以下是我在safari网页中的链接:打开iPhone App
但是,当我点击该链接时,该应用程序无法打开,并且safari会生成错误警报:由于地址无效,Safari无法进入该页面。
我的包标识符:com.xxxxx.abc 注意:我的包标识符与URL类型中的标识符不同。这可能是个问题吗?
修改 我已经使包标识符和URL标识符相同。我还在我的app delegate中添加了以下代码:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
NSLog(@"application");
BOOL returnValue = NO;
NSString *urlString = [url absoluteString];
if([urlString hasPrefix:@"com.xxxx.appgo"]){
returnValue = YES;
}
return returnValue;
}
我在iPad上测试它。我首先从xcode安装最新版本的应用程序,然后按主页按钮,然后打开safari中的链接。但是我仍然收到警报说Safari无法进入页面,因为地址无效。我在safari中的链接:
<a href="appgo://">Open iPhone App</a>
答案 0 :(得分:5)
在app delegate中实施
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
BOOL returnValue = NO;
NSString *urlString = [url absoluteString];
if([urlString hasPrefix:@"appgo://"]){
returnValue = YES;
}
return returnValue;
}
编辑: 添加info.plist文件
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.xxxx.appgo</string>
<key>CFBundleURLSchemes</key>
<array>
<string>appgo</string>
<string>yourSecondScheme</string>
</array>
</dict>
</array>
答案 1 :(得分:0)