如何获取默认的iOS浏览器名称?

2024-05-06

Stack Overflow 应用程序检测到我越狱设置的默认浏览器 (Chrome) 的名称。我怎样才能在 Objective-C 和 Swift 中实现同样的目标?

(只是名称,不是 ActivityView 代码)

Example:


Update:我进入“设置”>“堆栈交换”并发现了这一点:

看起来该应用程序默认为 Safari,但是iff安装 Chrome 后,链接将发送到该浏览器。 Chrome 最有可能被检测到canOpenUrl下面的答案中描述的方法。


我怀疑 Stack Exchange 应用程序没有检查您的default具体浏览器。毕竟,由于 Apple 没有提供更改默认浏览器的简单方法,因此我怀疑 SDK 是否提供了 API 来检测默认浏览器。

相反,Stack Exchange 应用程序可能会使用canOpenURL(_:)方法上UIApplication测试是否安装了一组预定的常见浏览器应用程序。对于安装的每个浏览器,操作表都会有一个新按钮。该方法可能类似于以下代码片段。

let safariURL = NSURL(string: "http://stackoverflow.com")!
let chromeURL = NSURL(string: "googlechrome://stackoverflow.com")!
let operaURL  = NSURL(string: "opera-http://stackoverflow.com")!

let sharedApplication = UIApplication.sharedApplication() // convenience

if sharedApplication.canOpenURL(safariURL) {
    // add "Safari" button to action sheet
}

if sharedApplication.canOpenURL(chromeURL) {
    // add "Chrome" button to action sheet
}

if sharedApplication.canOpenURL(operaURL) {
    // add "Opera" button to action sheet
}

// display action sheet
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取默认的iOS浏览器名称? 的相关文章

随机推荐

  • 对seaborn图中的分类x轴进行排序

    我正在尝试使用 seaborn 散点图绘制数据框中前 30 的值 如下所示 同一图的可重现代码 import seaborn as sns df sns load dataset iris function to return top 30
  • 使用视觉格式 NSLayoutConstraints 居中视图

    我正在尝试使用视觉格式语言将视图居中 self view addConstraints NSLayoutConstraint constraintsWithVisualFormat H progressView 300 options NS
  • HTTP-DELETE-请求是否允许响应主体?

    我假设响应代码 200 始终允许响应主体 但我找不到任何明确提及删除请求的响应主体 这里明确提到了RFC http www w3 org Protocols rfc2616 rfc2616 sec9 html sec9 7 简短的回答是 Y
  • 将 jasper 导出为 pdf 时出现 NoClassDefFoundError: com/itextpdf/text/DocumentException

    我创建了一个jasper报告 现在我需要将该报告导出到pdf格式 这是我的代码 compiles jrxml JasperCompileManager compileReportToFile reportName jrxml fills c
  • 加载一张随机 flickr 图像并附加到 div

    我基本上试图加载从特定用户和特定集合中获取的随机 flickr 图像 然后将其显示在 ID 为 flickr wrap 的 div 中 我正在尝试操纵此 JSON 代码来执行我想要的操作 但不知道从哪里开始 这段代码当前加载了很多图像 我只
  • 如何在 PHP 中验证小数

    如何在 PHP 中验证十进制数字 我查看了 is numeric 但这对我不起作用 bool is numeric 混合变量 查找给定变量是否为 数字 数字字符串包括 可选符号 任意数量的数字 可选的小数部分和可选的 指数部分 因此 012
  • BitmapFactory.decodeResource 返回空值

    我试图从视图对象中的内部资源加载位图 源本身位于 可绘制 文件中 代码是 import android content Context import android graphics Bitmap import android graphi
  • 如何根据当前请求更改 django 设置?

    我从一个 django 实例运行多个站点 并期望该框架最终能够通过一个或多个安装为数百个站点提供服务 我需要根据当前请求修补一些 django 设置 我已经编写了一些中间件来对设置进行猴子修补 但我需要在调用中间件之前修补这些设置 因为其他
  • 为什么结构体不能转换为嵌入类型

    package main type Inner struct x int type Outer struct Inner func main x Inner 1 y Outer x cannot convert x type Inner t
  • 为什么在步骤中将 TransactionManager 设置为 JPATransactionManager 不正确?

    我正在使用 Spring Batch 和 JPA 并且经历了 TransactionManager bean 冲突 我通过在步骤中将 TransactionManager 设置为 JpaTransactionManager 找到了解决方案
  • 在 CalDAV 中扩展重复事件

    假设 CalDAV 客户端非常愚蠢 深度嵌入 并且无法自行计算重复事件 然而 它能够放入 CalDAV 请求 假设 CalDAV 日历存储了生日 其中一个生日是 2000 年 12 月 31 日 现在客户希望收到 2005 05 05 到
  • 从用户定义的函数调用 sql

    SQL Server 2008 是否可以从用户定义函数中的变量执行 sql 或者使用存储过程是唯一的解决方案 我有一条sql语句保存在variabele中 mySqlStatement select from someTable 我想从用户
  • 如何从 URL 流式传输音频而不在设备上下载 mp3 文件

    如何在 Swift 中从 URL 流式传输音频而不在设备上下载 mp3 文件 我需要导入什么 我需要某些库吗 添加任何内容到 info plist 中吗 请评论你的代码 您可以使用 iOS AVPLayer 从 url 传输音频 var p
  • 非托管代码调用 vb.net 回调

    我正在将处理 COM 对象事件的 vb net 应用程序 可能用 VB6 编写 从框架 1 1 升级到 WPF 2 0 3 5 代码 为简洁起见 简化了对象名称 public class MyClass Private WithEvents
  • 如何在Python中打印出字母表中的第n个字母?

    ASCII 数学似乎在 Python 中不起作用 一 5 不起作用 如果没有字母数组 如何快速打印出字母表中的第 n 个字母 我天真的解决方案是这样的 letters A B C D E F G H I J K L M N O P Q R
  • 初始化父类时如何返回子类的新实例?

    给定一个类层次结构如下 class A def initialize param if param 1 then initialize and return instance of B else initialize and return
  • C# Elasticsearch NEST 无法转换 lambda 表达式

    我遇到了与此处描述的完全相同的问题 但未得到解答 ElasticSearch NEST 搜索 https stackoverflow com questions 24615676 elasticsearch nest search I us
  • 需要.Net 的公式解释器[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 当我们回来时,查看寻呼机片段状态寻呼机适配器出现白屏?

    我已经使用 FragmentStatePagerAdapter 使用视图分页器来加载片段 当我第一次来时 它会工作 但如果我从寻呼机适配器重定向到其他片段并返回 它将显示空白屏幕 fragment community xml
  • 如何获取默认的iOS浏览器名称?

    Stack Overflow 应用程序检测到我越狱设置的默认浏览器 Chrome 的名称 我怎样才能在 Objective C 和 Swift 中实现同样的目标 只是名称 不是 ActivityView 代码 Example Update