我有一个针对的iOS通用链接myApp.当我在另一个应用程序中单击该链接时,myApp打开并完美显示正确的支付,它正在工作.
但myApp包括一个内置的浏览器使用WKWebView.当我从我的内置浏览器中单击相同的通用链接时,iOS不会发送链接myApp,它会提取并获取网页.
如果您实例化SFSafariViewController,WKWebView或UIWebView对象以处理通用链接,iOS将在Safari中打开您的网站,而不是打开您的应用程序.但是,如果用户点击嵌入式SFSafariViewController,WKWebView或UIWebView对象中的通用链接,iOS将打开您的应用程序.
我注意到这个类似的问题,其中的建议是定义一个WKWebView代表.我有两个WKWebView代表定义和使用myApp,它没有帮助.这个问题有很多赞成但没有答案.
我WKWebView可以实际打开其他应用程序的通用链接.如果我点击链接https://open.spotify.com/artist/3hv9jJF3adDNsBSIQDqcjp从内myApp WKWebView则打开不打开任何网页的中间(即使长按菜单Spotify应用中myApp不提供"在Spotify的开放").但是myApp当我从内部点击它时,iOS不会提供通用链接myApp.
经过大量测试后,我发现通过查找特定的URL并取消显示,我可以阻止显示与通用链接相关的网页:
func webView(webView: WKWebView, decidePolicyForNavigationResponse navigationResponse: WKNavigationResponse, decisionHandler: (WKNavigationResponsePolicy) -> Void) {
    if let urlString = navigationResponse.response.URL?.absoluteString {
        if urlString.hasPrefix(myULPrefix) { // it's a universal link targetted at myApp
            decisionHandler(.Cancel)
            return
        }
    }
    decisionHandler(.Allow)
}
我必须在响应的决策处理程序中执行此操作,而不是执行操作的决策处理程序.当我做到这一点,通用链路是排队等待传递到myApp. …
我们正在尝试使用Apple Universal Links在iOS上实现应用程序索引(我正在查看https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2).
在"创建和上传关联文件"部分中,我看到我可以将索引限制为特定页面,这很好.
我想将索引限制为https://www.mywebsite.com?parameter=something,我该怎么办?
我在考虑这样的事情:
{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "MYID",
        "paths":[ "*?parameter=*" ]
      }
    ]
  }
}
你觉得它可行吗?我无法测试它,因为获取授权在网站根目录上上传文件需要时间,这就是为什么我问你是否认为它可以工作,我想上传文件一次,如果我能够.
谢谢
我有一个iOS应用程序,用于共享Facebook链接的公共图书馆.链接指向单个域,其中包含一个相对简单的PHP脚本,该脚本根据链接的内容(目录项,日历事件和用户生成的列表)重定向到三个不同的目标域.我有这样的设置,因为我使用的是iOS通用链接,而且我无法控制所有的链接目的地,所以我需要一个apple-app-site-association文件的中心位置.
在这个PHP脚本中,我试图根据共享的内容类型动态设置OG标记.这是脚本:
<?php
$shareType = $_GET['t'];
$contentId = $_GET['id'];
$base_catalog_url='XXXXXXXXXXXX';
$base_list_url='XXXXXXXXXXXXX';
$base_event_url='XXXXXXXXXXXXXX';
if($shareType=='0'){
    $oclc;
    if(strlen($contentId)==8){
        $oclc = 'ocm'.$contentId;
    }
    if(strlen($contentId)==9){
        $oclc = 'ocn'.$contentId;
    }
    $url = $base_catalog_url.'searchCatalog?'.http_build_query(array('clientID' =>'sdIPhoneApp','term1'=>$oclc));
    $resp = simplexml_load_file($url);
    $pageTitle = $resp->HitlistTitleInfo->title;
    $isbn = $resp->HitlistTitleInfo->ISBN;
    $imageURL = 'http://www.syndetics.com/index.aspx?isbn='.$isbn.'/lc.gif&client=XXXXXXX';
    $redirectURL =  'XXXXXXXXXXXX'.$contentId;
    error_log($redirectURL);
    echo '<html>
        <head>
            <meta property="og:image" content="'.$imageURL.'" />
            <meta property="og:title" content="'.$pageTitle.'" />
            <meta name="twitter:card" content="summary" />
            <meta name="twitter:site" content="@acpl" />
            <meta name="twitter:title" content="'.$pageTitle.'" />
            <meta name="twitter:description" content="Allen County Public Library" />
            <meta name="twitter:image" content="'.$imageURL.'" />
            <meta http-equiv="refresh" …刚刚将我的iPhone更新到iOS10并且Universal链接停止了工作.如果我在iOS9或更低版本的iPhone中运行我的应用程序,通用链接工作正常,但在iOS10中根本不起作用.
有线索吗?
我无法获得通用链接
运行Apple验证失败,并显示以下错误: 错误没有与url关联的应用程序
我想也许验证器不起作用,但在iOS 10设备上运行(通用链接功能,添加了正确的域)单击有效链接不会触发AppDelegate中的委托方法
有什么想法吗?
尝试在运行iOS 10的iOS应用中实现通用链接,只要点击我网页中的链接,我就会在设备日志中收到以下消息:
Feb 24 15:07:11 iPhone swcd(CoreUtils)[10142] <Notice>: Get info for service 'applinks', app ID '<<NULL>>', domain 'www.redacted...'
我的应用程序设置了该域所需的权利和功能.我的关联域权利密钥包含以下域:
applinks:redacted.com
applinks:www.redacted.com
服务器通过https在根文件夹上托管apple-app-site-association文件.我确保文件的内容类型设置为application/json,并且没有重定向导致它.该文件的内容是:
{
    "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "teamid.redacted-app-id",
        "paths": ["*"]
      }
    ]
  }
}
我正在测试这个的方法是进入我的网站并点击我找到的第一个链接,每次点击此链接我都会收到上面粘贴的消息,并在safari中打开链接.
我已经经历了几乎所有关于我的Universal Links问题,我可以找到并且还没有任何运气.为了记录,这一切似乎都通过了Branch的验证器.
我正在运行iOS 10.3并在https后面提供我的aasa文件,所以理论上我不需要签名.
这就是我的立场:
安装应用程序后,为我的登台服务器拖尾Heroku的日志给了我:
7-07-27T17:24:59.818724+00:00 heroku[router]: at=info method=GET path="/.well-known/apple-app-site-association" host=trueey-staging.herokuapp.com request_id=54b817e2-1d89-4c7a-9ed8-f52bdb3ad46e fwd="24.23.197.78" dyno=web.1 connect=1ms service=6ms status=200 bytes=618 protocol=https
2017-07-27T17:24:59.812926+00:00 app[web.1]: Started GET "/.well-known/apple-app-site-association" for 24.23.197.78 at 2017-07-27 17:24:59 +0000
2017-07-27T17:24:59.814845+00:00 app[web.1]: Processing by Web::AppSiteController#show as */*
2017-07-27T17:24:59.815538+00:00 app[web.1]: Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
1)我的权利:
applinks:trueey-staging.herokuapp.com
applinks:https://trueey-staging.herokuapp.com
这些是一回事吗?可能,但让我们双倍下降
2)我的apple-app-site-association文件,路由和Rails控制器提供它:
apple-app-site-association(住在/publicas apple-app-site):
{
    "applinks": {
        "apps": [ ],
        "details": [
            {
                "appID": "[Prefix].[AppId]",    
                "paths": [ "*", "/" ]
            }
        ] …我在 Xcode 中有几个目标。每次我更改目标设置中的域时:目标 - 目标名称 - 功能 - 关联域
然后此更改也会传播到其他目标的设置。
对我来说,这似乎是 Xcode 中的一个错误。
Xcode 版本:10.0 (10A255)
尝试为iOS 9配置通用链接.我正在使用Apple的验证工具:
https://search.developer.apple.com/appsearch-validation-tool/
一切都只是路过,我得到Action Required了Link to Application.消息是:" Could not extract required information for application links. Learn how to implement the recommended Universal Links."我尝试从我的桌面和我认为已正确配置的设备运行该工具.当我从Safari试用它时,Universal Links对我不起作用.
我使用 AsWebAuthenticationsession 从另一个应用程序到我的应用程序进行身份验证。我打开 AsWebAuthenticationsession,它会重定向我的应用程序的通用链接。问题是当它重定向我的应用程序通用链接时,它要求打开 App Store。当它重定向时,我想关闭会话。但是 AsWebAuthenticationsession 只需要一个自定义的 URL Scheme。我如何安全地处理它(因为自定义 URL Schemes 不安全:RFC8252 7.1)
ios oauth-2.0 swift ios-universal-links aswebauthenticationsession