2

我试图在我的应用程序中实现通用链接,但它不起作用。我将 apple-app-site-association 文件上传到我的服务器,我可以访问它。(MIME 类型:application/json)以下是 apple-app-site-association 文件的内容:

{
"applinks": {
    "apps": [],
    "details": [
        {
            "appID": "L7LAMSGWAK.com.example.app",
            "paths": [
                "*"
            ]
        }        ]
}
}

我在我的应用程序中打开了关联域,并添加了这些域:applinks:example.com

应用链接:demo.example.com

(我也将 apple-app-site-association 文件上传到了 demo.example.com 域)

在 AppDelegate.m 文件中,我写道:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {
NSURL* openedUrl = userActivity.webpageURL;
NSString* urlString = [openedUrl.absoluteString lowercaseString];
return YES;
}

我在这个方法中设置了一个断点来检查它是否被调用,但它从未被调用过。例如,如果我单击此链接:https ://demo.example.com/asd它只是打开了 safari,但我从来没有看到横幅在我的应用程序中打开链接。我真的不知道怎么了。

4

2 回答 2

2

尝试删除并重新安装该应用程序。iOS 处理关联的域详细信息并尝试apple-app-site-association在应用安装时读取文件。值得尝试使用真实设备(而不是模拟器)并检查设备日志(Xcode > Window > Devices 并选择您的设备)。如果您看到类似 的内容### Rejecting URL 'https://demo.example.com/apple-app-site-association' for auth method 'NSURLAuthenticationMethodServerTrust': -6754/0xFFFFE59E kAuthenticationErr,则可能您的站点证书对于 iOS 来说不够好,或者下载关联文件时存在其他问题。

于 2015-10-29T13:05:43.783 回答
1

有点晚的答案,但是当我尝试实现通用链接时遇到了同样的问题。我的解决方案是使用真实设备进行测试。

Apple 文档列出了可以在模拟器上进行测试,但根据我自己的经验,这是不可能的。

您可以在模拟器或设备上测试通用链接。来源 - 苹果

我也尝试使用 Branch.io,他们说无法使用模拟器进行测试。

您还应该验证您使用的是运行 iOS >= 9.2 的设备

于 2016-06-28T18:55:15.697 回答