有没有办法在 iOS 中以编程方式打开和关闭蓝牙和/或 WiFi?

2024-01-20

我正在寻找一种简单的方法来在 iOS 4.x 设备(iPhone 和 iPad)上切换蓝牙和 WiFi 的打开和关闭状态。

当我在不同的位置和使用场景之间移动时,我会不断切换这些功能,现在需要多次点击并访问“设置”应用程序。我希望创建一个简单的应用程序,它位于 Springboard 上,我只需点击它,它就会关闭 wifi(如果它已打开),反之亦然,然后立即退出。与用于切换蓝牙状态的应用程序类似。

我拥有开发人员 SDK,并且熟悉 Xcode 和 iOS 开发,因此很乐意编写创建应用程序所需的代码。我只是不知道哪个 API(无论是否私有)具有简单切换这些设施状态所需的功能。

因为这是一个非常个人化的问题,我无意尝试销售该应用程序或将其放在应用程序商店中,因此遵守有关 API 使用的应用程序指南不是问题。我不想做的是越狱设备,因为我想保留核心软件。

任何人都可以向我指出一些示例代码或更多关于实现此目标的信息,因为我的 Google-fu 让我失望,如果有 4.x 设备的信息,我就是找不到它。


感谢 Matt Farrugia(Twitter 上的@mattfarrugia),我一直在寻找的答案是:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

#if TARGET_IPHONE_SIMULATOR
    exit( EXIT_SUCCESS ) ;
#else
    /* this works in iOS 4.2.3 */
    Class BluetoothManager = objc_getClass( "BluetoothManager" ) ;
    id btCont = [BluetoothManager sharedInstance] ;
    [self performSelector:@selector(toggle:) withObject:btCont afterDelay:0.1f] ;
#endif
    return YES ;
}

#if TARGET_IPHONE_SIMULATOR
#else
- (void)toggle:(id)btCont
{
    BOOL currentState = [btCont enabled] ;
    [btCont setEnabled:!currentState] ;
    [btCont setPowered:!currentState] ;
    exit( EXIT_SUCCESS ) ;
}
#endif

您还需要链接 Gamekit 框架,但只需将此代码添加到新的 Xcode 项目并在设备上运行即可。这样做会创建一个一键式应用程序,用于打开和关闭蓝牙。

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

有没有办法在 iOS 中以编程方式打开和关闭蓝牙和/或 WiFi? 的相关文章

  • 文档 Main.storyboard 需要 Xcode 8.0 或更高版本

    我下载了 Xcode beta 并打开了现有的项目 看看它如何与 Xcode 8 beta 一起使用 我从 Xcode 8 打开了 Storyboard 文件 现在 当我从 Xcode 7 3 打开项目时 我无法打开故事板文件 它给出了以下
  • iPhone 表格部分页眉和页脚中的文本

    我有一个关于在表视图部分的页眉和页脚中打印文本的问题 我想在每行的页脚中显示一些文本 但这样做时遇到问题 当我开始下一部分时 它从第一个部分的下面开始绘制 要了解我到底需要什么 请转到 设置 gt 常规 gt 网络 在此屏幕中 我们有多个部
  • iOS 中通过 USB 进行反向端口转发

    我在桌面上有一个 Web 套接字服务器 在 iPhone 设备上有一个客户端 我想使用 USB 而不是任何网络与他们通信 我已经使用 adb reverse 在 android 上实现了它 但无法找到适用于 iOS 的任何解决方案 我尝试使
  • UITableViewCellDeleteConfirmationControl 问题

    我在项目中使用以下代码 if NSStringFromClass subview class isEqualToString UITableViewCellDeleteConfirmationControl 这在 iOS 5 和 6 上运行
  • 如何将 UILabel 与个人资料照片图像水平对齐?

    我必须显示名称和电子邮件 ID 与个人资料图像正确水平对齐 这样姓名和电子邮件 ID 就出现在 UIImageView 的中心 但您可以看到姓名和电子邮件 ID 不在个人资料图片的中心 为什么会发生这种情况 我给出了以下限制 删除前导和尾随
  • iOS - 检测应用程序是否正在从 Xcode 运行 [重复]

    这个问题在这里已经有答案了 我试图根据代码是否通过 USB Xcode 调试 运行或在从应用程序商店下载的生产模式 发布 运行来启用 禁用部分代码 我知道检查它是否正在运行DEBUG or RELEASE像这样的模式 ifdef DEBUG
  • iPhone X 上横向的 UICollectionView

    当 iPhone X 横向使用时 您应该检查 safeAreaInsets 以在左侧和右侧制作适当大的装订线 UITableView 有新的insetsContentViewsToSafeArea属性 默认 true 自动将单元格内容保留在
  • iOS 应用程序崩溃 com.apple.root.background-qos

    在应用程序中发现应用程序崩溃 我怀疑这可能是由于 firebase 观察者的代码而发生的 由于在用户案例中 用户可以从一个事件转到用户配置文件 参与此事件 然后从用户配置文件可以返回到此事件 我需要一个 ref 句柄来删除特定的观察者 因此
  • 如何在 Swift 中更改 UIButton 图像

    我正在尝试使用 Swift 更改 UIButton 的图像 我应该怎么办 这是 OBJ C 代码 但我不知道 Swift 的情况 playButton setImage UIImage imageNamed play png forStat
  • 使用 popToRootViewController 时我丢失了导航栏

    我有一个 iOS 应用程序 其中主屏幕是 UICollectionViewController 从集合视图中选择项目时 视图将推送到该项目的详细信息视图 在细节视图中 我构建了一个从侧面移出的抽屉 滑块 为了让视图看起来像我想要的那样 我隐
  • 文件中缺少所需的架构 i386

    添加 MapKit 和 CoreLocation 框架后 我在构建应用程序时遇到问题 它们都是 4 3 框架 并且该应用程序过去可以与 UIKit CoreGraphics 和 Foundation 一起正常工作 只是这两个框架给我带来了问
  • 电话号码的 Swift 2 国家/地区代码

    我正在尝试从 iPhone 用户处获取国家 地区代码 我不确定是否有有关该国家 地区以及某些应用程序 如 Viber 如何建议拨号代码的信息 我到目前为止 let currentLocale NSLocale currentLocale l
  • 如何使用CAAnimation制作曲线/圆弧动画?

    我有一个用户界面 其中一个项目被删除 我想模仿 iOS 邮件中的 移动到文件夹 效果 小字母图标被 扔 到文件夹中的效果 我的会被扔进垃圾箱 我尝试使用它来实现它CAAnimation在图层上 据我在文档中阅读 我应该能够设置byValue
  • 当设备方向改变时以编程方式更新约束的正确方法?

    我在用着storyboard and autolayout 并将 IB 中的约束设置为IBOutlet在相应的视图控制器中 我正在阅读几篇关于如何将纵向和横向的约束更新为不同的帖子 但我仍然不确定应该如何执行此操作 我应该设置新的限制吗 v
  • Google Maps iOS SDK:地图上东西点之间的距离

    如何计算地图东点和西点之间的距离 以米为单位 假设用户更改了滚动地图的位置 然后我使用 mapView didChangeCameraPosition delegate 方法捕获移动 但我不知道如何计算距离 这是一个辅助函数 可用于计算两个
  • 如何在 iOS 中通过 wifi 传输大文件

    我下载了WiTap http developer apple com library ios samplecode WiTap Introduction Intro html代码来自苹果网站 它用于通过本地 WiFi 网络传输数据 我正在从
  • 如何使用基于HM-10蓝牙模块的BLE Shield?

    我是 arduino 项目的新手 我想请你帮忙 我从 http imall iteadstudio com development platform arduino shields im130704001 html http imall i
  • ios - ARKit - 如何创建旋转对象手势功能?

    我是 ARKit 新手 我想创建一个旋转对象的函数 这是我关于拖动和旋转对象的代码 Rotate object objc func rotateRecognized sender UIPanGestureRecognizer let sce
  • 如何制作全局数组?

    所以 我读了这个帖子 https stackoverflow com questions 1249131 declaring global variables in iphone project 这几乎正是我正在寻找的东西 然而 这不起作用
  • 用于将用户发送至设备应用商店上的应用评论页面的 URL

    为了将 iTunes App Store 置于最前面并打开它以显示应用程序的评论页面 要启动的 URL 是什么 我想将我的用户发送到 撰写评论 页面 其他一些 SO 答案提供了如下 URL 但它似乎不起作用 itms apps itunes

随机推荐

  • 使用 URL 参数自动填充表单并自动提交

    我想使用 URL 参数自动填充以下表单 例如使用如下 URL example co uk example php acct wirelesslogicde pwd jenkins 如果可能的话 我也希望自动提交 我该怎么做
  • 如何判断TBucketList的桶数

    我一直在使用 TBucketList 和 TObjectBucketList 来满足我的所有哈希需求 但从未尝试过切换存储桶的数量 我隐约记得这在数据结构类中意味着什么 但是有人可以详细说明 Delphi 中这个特定类的细微差别吗 The
  • 是否保证handle_info在超时0的情况下在init之后立即执行?

    我收到一个奇怪的错误报告 这让我认为在 gen server 初始化之前正在执行一些调用 这是初始化代码 init ResourceId gt process flag trap exit true ok not initialized R
  • 如何使用任何库在Python中将RTF字符串转换为纯文本[重复]

    这个问题在这里已经有答案了 我想在不使用正则表达式的情况下将 rtf 字符串转换为纯文本 rtfstring rtf1 ansi ansicpg1252 deff0 deflang1033 fonttbl f0 Arial colortbl
  • 如何使用curl 通过代理模拟来自Firefox 的请求?

    特别是 当我将 Firefox 设置为使用 https 流量代理时 我尝试复制 Firefox 的行为 根据我的测试 Firefox 似乎向代理发送 CONNECT 请求 而以下curl 命令直接向代理发送 GET curl proxy b
  • 将列表框的选定值显示为标签 - 多个值

    我有一个名为 lstPTLNameDHOD 的列表框 其中有多个 PTL 名称 可以使用 Ctrl 键选择这些名称 我想在标签中显示选定的姓名 或者以某种方式显示提交表单的人可以看到他们提交表单的确切对象 我的问题是我只能在标签上显示一个名
  • Python:使用另一个大字典更新一个大字典

    我正在尝试使用另一个字典中的值来更新大型字典的某些值 其中它们具有相似的键 相同的日期但格式不同 我当前使用的流程太慢 我想减少瓶颈 这是我当前的解决方案 它将更新的字典写入文件 from dateutil import parser Fi
  • 在 Node.js 中共享对象并避免全局变量

    在下面的代码片段中共享数据库连接的最合适的方式是什么 db变量 与我的路由器 控制器 无需转动db变量变成全局变量 var mongo require mongoskin db mongo db config db adress app u
  • 使用 Akka 以编程方式获取临时端口

    如果我在 Akka 中将 ActorSystem 配置为使用临时 tcp 端口 更具体地说 我将 http 端口配置为 0 有没有办法在 ActorSystem 启动后以编程方式获取此端口 任何使用 actorOf 创建 Actor 的尝试
  • 如何找到 3 个数组的交集,同时忽略空数组?

    我必须找到 3 个整数数组的交集元素 有条件地说a b c 如果数组中的任何一个为 null 只需忽略该数组并找到剩余数组的交集 如果三个都为 null 则返回 提前致谢 ps 红宝石1 9 3 一种方法是这样的 a b c tap a a
  • Docker 编写安装requirements.txt

    在我的 docker 镜像中 我正在克隆 git master 分支来检索代码 我使用 docker compose 作为开发环境 并使用卷运行容器 我在从 python requests txt 文件安装新项目需求时遇到了问题 在开发环境
  • 如何在 IntelliJ 中调试 Clojure 文件?

    第5行不能设置断点 其中包含 x IntelliJ 不会让我这样做 我使用了不同的插件 例如拉克洛胡尔 https github com JetBrains la clojure and Cursive https cursivecloju
  • RMarkdown 可折叠面板

    当我正在为学生准备教程时 我需要一种方法来隐藏可折叠面板中的内容 这些内容可以通过单击按钮来显示 我已经使用下面的代码让它工作了 RMarkdown 文件如下所示 title Collapsible Panel output html do
  • 显示文本区域的当前行号和列号

    我正在我的网络应用程序中制作一个文件编辑界面 我有一个包含文件内容的文本区域 当文本区域聚焦时 我想输出光标的位置 即行号和列 这很有用 因为错误消息通常会产生行号 问题是 如何确定文本区域中光标的位置 我正在使用原型库 也许已经有解决方案
  • 使用 Gold Parser 解析项目和包文件 --“IdList”需要帮助

    我正在涉足对象帕斯卡引擎 http goldparser org engine 1 pascal index htm 作者 Rob van den Brink 并且看起来 除了一些小的且容易纠正的错误 它适用于 Delphi 单元文件 但是
  • 验证驾驶执照号码?

    我正在开发 ACH 支付处理器 想知道是否可以根据某些规则来确定驾驶执照领域的范围 对此有什么想法吗 我可以只假设数字还是其他更像 SSN 的数字 Thanks 我为我正在从事的一个项目想出了这个 function utilities fu
  • SQL 查询从列中提取文本并将其存储到同一记录中的不同列

    我需要一些有关 SQL 查询的帮助 我有一个 SQL 表 其中包含已提交表单的列详细信息 我需要获取存储在该列中的部分文本 并将其放入同一行的不同列中 我需要复制的文本位始终位于列中的相同位置 任何帮助将不胜感激 伙计们 我的脑子一片空白
  • Symfony 中的 Doctrine 实体中的 @var 注释是什么?

    也许是一个愚蠢的问题 但我不知道这让我烦恼 当我创建一个实体时app console doctrine generate entity它添加了一个 var每个属性的注释 什么是 var用于 它显然表明了数据类型 但我没有看到任何文档中提到它
  • 无法使用微软编译器编译Qt

    我想使用 VS2010 编译器构建 Qt 4 7 3 但在配置时遇到问题 我正在使用 VS command shell 我的配置命令如下所示 configure exe platform win32 msvc2010 no webkit n
  • 有没有办法在 iOS 中以编程方式打开和关闭蓝牙和/或 WiFi?

    我正在寻找一种简单的方法来在 iOS 4 x 设备 iPhone 和 iPad 上切换蓝牙和 WiFi 的打开和关闭状态 当我在不同的位置和使用场景之间移动时 我会不断切换这些功能 现在需要多次点击并访问 设置 应用程序 我希望创建一个简单