iOS9:未调用Universal Links委托

时间:2016-02-11 11:34:47

标签: ios objective-c iphone ios9

我想在调用某个http url时打开应用程序,如果已经安装了该应用程序但是从未调用此委托。我按照link下面的链接进行操作。

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler
{
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL *url = userActivity.webpageURL;
        NSLog(@"url %@",url);
           [self showAlert:@"" :[NSString stringWithFormat:@"%@",[userActivity description]] shouldShow:YES];
        // do something with the URL
    }

    return YES;
}

1 个答案:

答案 0 :(得分:0)

可能有很多原因导致continueUserActivity没有被回调。

  1. 您需要将apple-app-site-association文件上传到您的服务器。
  2. 在AppDelegate中实现您已经在执行的委托回调方法
  3. 然后使用域网址更新应用中的Associated Domains部分。确保您同时拥有www.example.com和example.com
  4. 如果上述任何一项操作错误,您将无法接听回电。

    如果您还没有,我强烈建议您仔细阅读WWDC video