将我的iOS应用程序检测为Web浏览器

Vai*_*eri 7 browser xcode ios swift

我正在构建一个浏览器应用程序.我希望iOS将其检测为浏览器.我尝试添加http到URL Schemes但是徒劳无功.

我试过这个答案.

Mat*_*man 1

在 iOS 中,操作系统不会跟踪哪些应用程序是浏览器,就系统而言,用户应该使用 Safari 来完成所有操作。因此,没有类似于您链接的问题(涉及 macOS)的 API。

但是,如果您希望您的应用程序显示在“打开方式”弹出窗口中,则可以将您的应用程序设置为能够打开某些文档类型。有很多系统声明的文档类型,但您可能需要特别注意与 Web 相关的文档类型,例如 public.html ( kUTTypeHTML)。

不幸的是,我相当确定 iOS 不允许应用程序声明支持打开纯 http URL,仅支持自定义 URL 方案,但您仍然可能需要声明对某些文件类型(例如 HTML)的支持,以防万一用户尝试打开一个。这是一个例子:

首先,您需要告诉 Xcode 您支持哪些文档,您可以通过选择目标、转到信息并添加文档类型来做到这一点:

将 public.html 添加到文档类型

然后,每当您的应用程序被要求打开 .webarchive 文件时,本文档都会描述您必须从哪里打开它。基本上,因为您不拥有该文件类型,所以您只需查看 或 中的选项字典application:didFinishLaunchingWithOptions:即可application:willFinishLaunchingWithOptions

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {

    if let url = launchOptions?[UIApplicationLaunchOptionsKey.url] as? URL {
        // This code would probably exist in one of your controllers
        let request = URLRequest(url: url)
        webview.load(request)
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)

因此,实际上,人们AppDelegate很可能会通过简单地将URL.

但同样,用户仍然可能无法仅访问 Safari 并将网页共享到您的应用程序。您的应用程序可能只会在用户实际点击实际 html 文件上的共享时显示,但这可能是 iOS 提供的最接近您想要的东西。