微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

点击后,通用链接未在Swift xcode中提供完整的网址

如何解决点击后,通用链接未在Swift xcode中提供完整的网址

我正在我的应用程序中实现通用链接。我遵循了以下链接中的所有说明。 AASA creation link创建AASA文件

文件内容如下:

{
"applinks": {
  "details": [
       {
         "appIDs": ["44SGDK39BN.com.app.appname"],"components": [
           {
              "#": "no_universal_links","comment": "Matches any URL whose fragment equals no_universal_links and instructs the system not to open it as a universal link"
           },{
              "/": "/men/*","comment": "Matches any URL whose path starts with /buy/"
           },{
              "/": "/women/*","comment": "Matches any URL whose path starts with /help/website/ and instructs the system not to open it as a universal link"
           },{
              "/": "*","comment": "Matches any URL whose path starts with /help/ and which has a query item with name 'articleNumber' and a value of exactly 4 characters"
           }
         ]
       }
   ]
  }
 }

它是在没有重定向的情况下上传到我的服务器上的。

我的权利文件如下图所示。我已经附上了权利文件

entitlements file

,并在“签名和功能”中启用了“关联的域”并添加了所需的域。下图是该部分。

siging and capabilities and enabled Associated Domains

然后我从Info更新了Project target explorer标签中的URL类型

然后我在AppDelegateClass上使用以下代码

   func application(_ application: UIApplication,continue userActivity: NSUserActivity,restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
   

       guard userActivity.activityType == NSUserActivityTypebrowsingWeb,let url = userActivity.webpageURL,let components = URLComponents(url: url,resolvingAgainstBaseURL: true) else {
          return false
        }
       print(url)
     
       print("Path string \(components.path)")
      }
    }

此处print(url)仅打印域名,而print("Path string \(components.path)")仅打印/。我不知道我在哪里。当用户单击特定链接时,我想要完整的URL。

通用链接的示例网址:www.domainame.com/men/belt/beltname

使用时单击此类型的链接,此方法仅打印www.domainname.com

我需要完整的网址。但是,我遇到了这个问题。我两天都找不到解决方案。任何人都能找到解决方案。请建议我。

“反向域名”应该是该应用程序的捆绑软件ID吗?会不会有问题呢?

我的域名不是App Bundle ID的反向名称

更新

当我添加参数时,如下所示,

www.domainname.com\men?test=test

我正在获取完整的路径。

再次,我不知道我在哪里卡住。

解决方法

经过长时间的搜索,我找到了解决方案。

有两种类型的问题。

  1. 没有找到匹配的Signing iOS开发证书。

我想出了办法并与客户进行协调。然后解决了。

  1. 有AASA文件更新。实际的一个不是为我工作。我关注了以下链接。

using paths

using component

没有任何帮助。然后

结构如下:

{
  "applinks": {
  "details": [
               {
                 "appIDs": [ "4QE5RGHDNN.com.app.iosapp"],"components": [
                                 { 
                                     "/": "/*","comment": "Matches any URL whose path starts with /buy/"
                                 },{
                                     "/": "*","comment": "Matches any URL whose path starts with /buy/"
                                  },],"paths": [ "*"]
                }
             ]
           } 
   }

上面的AASA文件运行正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。