我知道以前有人问过这个问题,并且我已经尝试了在这里、Apple 论坛和各种操作指南网站上可以找到的所有内容,但我仍然遗漏了一些东西,而且我束手无策。我希望有人能在某个地方发现错误。
我在 iPhone 6S 上使用 XCode 7.3.1 和 iOS 9.3.2。
会员中心 App IDs ID:com.hotelplanner.hotelplanner
App ID 有 Assoc。已启用域
与 Assoc 的开发供应配置文件。启用域的 iOS 团队配置文件:com.hotelplanner.hotelplanner
我在 XCode Build Settings 中选择的 Debug Provisioning Profile 与在成员中心启用了 App Domains 的配置文件相匹配。
Xcode Capabilities Associated Domains Applinks:www.hotelplanner.com
Xcode 权利
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:www.hotelplanner.com</string>
</array>
</dict>
</plist>
curl 下载 apple-app-site-association Titan:app nancysmithwp$ curl -v https://www.hotelplanner.com/.well-known/apple-app-site-association * Trying 69.56.156.14... * 已连接到 www.hotelplanner.com (69.56.156.14) 端口 443 (#0) * 使用 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 的 TLS 1.2 连接 * 服务器证书:*.hotelplanner.com * 服务器证书:Symantec Class 3 Secure Server CA - G4 * 服务器证书:VeriSign Class 3 公共主要证书颁发机构 - G5
> GET /.well-known/apple-app-site-association HTTP/1.1
> Host: www.hotelplanner.com
> User-Agent: curl/7.43.0
> Accept: *
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Last-Modified: Wed, 29 Jun 2016 14:05:46 GMT
< Accept-Ranges: bytes
< ETag: "f35d6255fd2d11:0"
< Vary: Accept-Encoding,User-Agent
< Server: HOTELPLANNER.COM
< P3P: CP="NOI DSP COR LAW NID CUR ADMa OUR DELa IND PHY ONL UNI PUR COM NAV STA"
< Date: Wed, 29 Jun 2016 17:24:51 GMT
< Content-Length: 169
<
{
"applinks": {
"apps": [],
"details": [
{
"appID": "M57RZA2QX5.com.hotelplanner.hotelplanner",
"paths":[ "/Hotels" ]
}
]
}
}
我已将 iOS 部署目标设置为 9.0,因此不需要对其进行签名。
https://search.developer.apple.com/appsearch-validation-tool上的验证工具,给定 URL www.hotelplanner.com/Hotels/2446-in-Nassau-Bahamas.html 表示应用程序站点关联文件已通过。深层链接失败,并显示“无法提取深层链接所需的信息。”
笔记中的相同链接始终在 Safari 中打开。长按链接让我没有选择。
myAppDelegate 已实现 application:continueUserActivity:restorationHandler。
-(BOOL) application:(UIApplication*) application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * _Nullable))restorationHandler{
if (userActivity.activityType == NSUserActivityTypeBrowsingWeb){
NSLog(@"continueUserActivity");
}
return NO;
}
当我在我的设备上启动应用程序时,控制台中没有错误。
编辑添加:
我实现了 webcredentials 以查看是否可以获得更多见解,并且我在回调中收到一个错误,即 www.hotelplanner.com 不在我的权利中,但它在那里,并且它的目标复选框是放。此外,如果我将第一个参数保留为 NULL,以便它使用我的权利文件中的域,我会收到错误“未提供域”。