【问题标题】:open your app with http:// links in ios在 ios 中使用 http:// 链接打开您的应用
【发布时间】:2023-03-06 09:58:01
【问题描述】:

有没有办法打开像http://www.mydomain.app.com 这样的链接,所以Safari 会用我的ios 应用程序打开它?我设法在android中做到了。

在 ios 中,我设法使用 plist 文件中的 URL 方案打开具有特殊方案的链接,例如 somecheme://。

但是如何打开特定域名的http链接呢?有可能吗?

我的意思是,当您使用 www.domain.com/... 键入或打开一些 http url 时,系统建议使用我的应用程序打开它

【问题讨论】:

    标签: ios objective-c xcode


    【解决方案1】:

    假设我已正确理解您的问题 - 当用户点击某个域上的网络链接时,您希望打开您的应用而不是网页,对吗? – 这是关于如何在 iOS 9 上实现通用链接的完整指南:

    http://blog.hokolinks.com/how-to-implement-apple-universal-links-on-ios-9/

    还可以查看 WWDC 会议:https://developer.apple.com/videos/play/wwdc2015-509/

    【讨论】:

    • 是的,这个功能是在 iOS 9.0 中引入的。所以它只适用于 9.0 和更新的版本。
    • 是的,这仅在 iOS 9 中实现。好消息是,在较旧的 iOS 版本上,该链接仍将在 Safari 中打开,您可以在其中指向用户下载或使用smart app banner.
    【解决方案2】:

    就像您在 iOS 应用中打开其他链接的方式一样?您想在外部 Safari 浏览器中还是在您的应用程序中打开它。您可以使用 SFSafariViewController 或使用 UIWebView 或更好的 WKWebView 实现自己的视图控制器。

    请注意,从 iOS 9 开始,您必须在 Info.plist 中添加 App Transport 安全设置字典。否则 http 网站将无法打开。您必须在开发过程中将 Allow Arbitrary Loads 设置为 YES。对于生产,您可以选择将其设置为知道,然后如果您确定您将只打开某些网站,则指定 Exception Domains 数组。

    【讨论】:

      【解决方案3】:

      复制粘贴即可

       [[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://www.mydomain.app.com"]];
      

      【讨论】:

      • 抱歉,我改了问题。我第一次问错了
      【解决方案4】:

      所以 Safari 会用我的 ios 应用程序打开它吗?我设法在android中做到了。

      我想你要问的是,我怎样才能发送一个链接,如下所示,当用户点击它时,它会打开我的 iOS 应用程序?

      如果是这样,这是解决方案:

      Custom URLs in iOS

      基本上,您需要对 .plist 文件进行一些更改以注册您的 URL 标头:

      当用户点击此类 URL 时,iOS 将启动您的 openURL 函数。

      -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
      

      这能回答你的问题吗?

      顺便说一句,我唯一无法解决的问题是如何让我的网页检测何时在 iOS 设备上设置了 URL 标头没有

      例如,如果我的代码没有注册“MKB”,我怎样才能让我的网页以不同的方式处理类似这样的链接(也许将它们重定向到 iTunes 页面,在那里他们可以安装我的应用程序):

      MKB://DocumentNumber=100
      

      【讨论】:

      • 是的,我是在 ios 中完成的,但方案不是“http”,它是一些独特的方案
      • 没错。我引用的那个教程页面将向你展示如何注册你自己的方案,在这个例子中是“MKB://...”。
      • 不,我说我知道怎么做,这不是我想要的
      【解决方案5】:

      如果你想在 Safari 上打开它,你可以使用

      [UIApplication sharedApplication]openURL:YOUR_NSURL_INSTANCE]];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-09
        • 1970-01-01
        • 2015-12-21
        • 2015-10-03
        • 1970-01-01
        • 2017-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多