Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通用链接在iOS模拟器中不工作_Ios_Swift_Simulator_Ios Universal Links - Fatal编程技术网

通用链接在iOS模拟器中不工作

通用链接在iOS模拟器中不工作,ios,swift,simulator,ios-universal-links,Ios,Swift,Simulator,Ios Universal Links,我也在尝试让一个通用链接在模拟器中工作,这样我就可以测试它了。由于这是一个工作项目,我没有一个兼容的设备可以使用。因此,我们试图在模拟器上实现这一点 我已经尽了我在网络上所能尝试并实现了这一目标: 将关联的域添加到应用程序,并将域设置为applinks:192.168.50.200?mode=developer。我正在使用Synology NAS上的web服务器来测试这一点 向应用程序委托添加了应用程序(uquo;continue:restorationHandler:)方法,记录传入URL并返

我也在尝试让一个通用链接在模拟器中工作,这样我就可以测试它了。由于这是一个工作项目,我没有一个兼容的设备可以使用。因此,我们试图在模拟器上实现这一点

我已经尽了我在网络上所能尝试并实现了这一目标:

  • 将关联的域添加到应用程序,并将域设置为
    applinks:192.168.50.200?mode=developer
    。我正在使用Synology NAS上的web服务器来测试这一点
  • 向应用程序委托添加了
    应用程序(uquo;continue:restorationHandler:)
    方法,记录传入URL并返回
    true
  • 在NAS的web服务器中创建了一个
    .well-known/apple应用程序站点关联
    文件
  • 尝试使用
    simctl
    、iMessage和Safari打开一个匹配的URL,然后该URL将在应用程序中打开
  • 但第四步不起作用。相反,模拟器只是将URL作为网页打开

    我已经安装了proxyman,它显示了发送到服务器的网页URL和返回的响应,但任何时候都不是从模拟器发送的对
    apple app site association
    文件的请求。无论我如何尝试和调用事物

    我读过的许多博客都说,您应该能够使用我尝试过的一些技术在模拟器中测试通用链接。但他们不为我工作。我已经在iOS 11.4和iOS 13模拟器上试过了


    有什么想法吗?我很新鲜。

    我在控制台中找到了数据。我看到了

    任务。完成时出现错误[-999]错误域=nsurErrorDomain代码=-999“已取消”用户信息={NSErrorFailingURLStringKey=https://192.168.50.200/.well-known/apple-app-site-association,n错误失败键=https://192.168.50.200/.well-known/apple-app-site-association,_nsurlerorelatedurlSessionTaskErrorKey=( “LocalDataTask。” ),_nsurlerrorfailingurlsessiontaskerrokery=LocalDataTask.,nslocalizeddedescription=cancelled}


    所以它看起来像是在调用服务器,但没有任何迹象表明请求被取消的原因。

    我在控制台中找到了数据。我看到了

    任务。完成时出现错误[-999]错误域=nsurErrorDomain代码=-999“已取消”用户信息={NSErrorFailingURLStringKey=https://192.168.50.200/.well-known/apple-app-site-association,n错误失败键=https://192.168.50.200/.well-known/apple-app-site-association,_nsurlerorelatedurlSessionTaskErrorKey=( “LocalDataTask。” ),_nsurlerrorfailingurlsessiontaskerrokery=LocalDataTask.,nslocalizeddedescription=cancelled}


    因此,它看起来像是在调用服务器,但没有任何迹象表明请求被取消的原因。

    找到了答案。这是因为我的NAS服务器的web服务器没有能够满足苹果TLS要求的有效证书。出于测试目的,我最终使用提供有效证书并重定向到我的NAS。这有点痛苦,因为每次启动grok tunnel时,它都会生成一个随机但唯一的域,但出于测试目的,它工作得非常好。

    解决了这个问题。这是因为我的NAS服务器的web服务器没有能够满足苹果TLS要求的有效证书。出于测试目的,我最终使用提供有效证书并重定向到我的NAS。这有点痛苦,因为每次启动grok tunnel时,它都会生成一个随机但唯一的域,但出于测试目的,它工作得非常好。

    我对Synology一无所知,但我建议使用真正的(远程)web服务器。我知道这是可行的。检查这个线程:在模拟器中它不工作,但在设备上工作完美。我对Synology一无所知,但我建议使用真正的(远程)web服务器。我知道这是可行的。检查这个线程:在模拟器中,它不工作,但在设备上工作正常。这表明由于TLS认证问题,连接被操作系统取消。有关详细信息,请参阅。使用MITM代理调试安全网络通信时,这是一个常见的陷阱。这表示由于TLS认证问题,操作系统取消了连接。有关详细信息,请参阅。使用MITM代理调试安全的网络流量时,这是一个常见的陷阱。