4

我正在尝试从 Safari 中的链接打开我的原生 iPhone 应用程序。我已经按照这个链接创建了一个 url 架构。我appgo://在 URL 类型下添加了我的 url 架构和 com.xxxx.appgo 作为标识符。以下是我在 safari 网页中的链接:打开 iPhone 应用程序但是当我单击该链接时,应用程序无法打开,并且 safari 会产生错误警报:Safari 无法进入页面,因为地址无效。

我的包标识符:com.xxxxx.abc 注意:我的包标识符与 URL 类型中的标识符不同。这会是个问题吗?

编辑: 我已经使包标识符和 url 标识符相同。我还在我的应用程序委托中添加了以下代码:

- (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>
4

2 回答 2

5

在应用程序委托中实现

    - (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>
于 2013-03-25T08:47:32.970 回答
0

是的。您的包标识符必须与 plis 文件中的 URL 类型相同。

更多你可以参考这个链接

于 2013-03-25T08:33:57.630 回答