启动 safari 后返回我的应用程序

Posted

技术标签:

【中文标题】启动 safari 后返回我的应用程序【英文标题】:Return to my app after launching safari 【发布时间】:2012-12-29 15:01:25 【问题描述】:

我使用此代码启动 safari 并为客户发布消息:

NSURL *url = [NSURL URLWithString:@"http://www.Mysite.com/testok.html"];
[[UIApplication sharedApplication] openURL: url];

我想做的是,在启动 safari 几秒钟后,它会自动关闭并返回到我的应用程序。

【问题讨论】:

【参考方案1】:

您可以为自定义 URL 方案注册您的应用程序,并从您的网站通过 Java 脚本调用它。有关 URL 方案的更多信息,请查看ios App Programming Guide。

也许更好的解决方案是使用UIWebView 将您的网页嵌入到您的应用中。

【讨论】:

@Sven Apple 有时会拒绝使用 UIWebview 的应用,请问是什么原因? 我最终使用了 UIWebView,结果证明这是一个完美的解决方案。【参考方案2】:

使用以下步骤。 URLScheme 是最佳解决方案。我希望它对你有用。

    在 iPhone Info.plist 中制作URLSchemas 如下链接

    Client Side (iPhone Project) Setting

    将以下 Html 代码添加到 Safari 浏览器中的重定向按钮。

    <html><head>
    <script type="text/javascript">
    
    function redirection() 
        var userAgent = window.navigator.userAgent;
        if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) 
            window.location = "myapp://"    // This is your app name. make sure it's like URLScheme Name
        
    
    </script>
    </head>
    <body>
    Some html page
    <input type="button" value="back" onclick="redirection()"/>
    </body>
    </html>
    

【讨论】:

以上是关于启动 safari 后返回我的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法从 iOS9 的状态栏中隐藏“返回 Safari”?

iPhone 没有出现在 Safari 的“开发”菜单中

iPhone没有出现在Safari的“开发”菜单中

我可以格式化 URL 以从我的应用程序的 UIWebView 中启动 Safari 吗?

如何通过 Safari URL 启动我的 iPhone 应用程序 [重复]

如何从 iOS 应用程序启动 Safari 并打开 URL