gpt4 book ai didi

ios - 将我的 iOS 应用程序检测为网络浏览器

转载 作者:搜寻专家 更新时间:2023-10-30 21:58:43 24 4
gpt4 key购买 nike

我正在构建一个浏览器应用程序。我希望 iOS 将其检测为浏览器。我尝试将 http 添加到 URL Schemes,但没有成功。

我试过了 this answer .

最佳答案

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

但是,如果您希望您的应用显示在“打开方式”弹出窗口中,您可以 set your app as able to open certain document types .有很多 system-declared document types ,但您可能需要特别注意与网络相关的内容,例如 public.html (kUTTypeHTML)。

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

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

Adding public.html to Document Types

然后,只要您的应用程序被要求打开 .webarchive 文件,This document描述了您必须从哪里打开它。基本上,因为您不拥有文件类型,所以您可以在 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
}

所以实际上,AppDelegate 很可能会通过简单地将 URL 传递给应用程序的另一部分来将其委托(delegate)给它。

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

关于ios - 将我的 iOS 应用程序检测为网络浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39785424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com