13

我想以编程方式在 iOS 中打开/关闭飞行模式。谷歌搜索后,我得到了以下一些链接,并关注了它们,

可达性飞行模式 (3G) 与 Wifi

使用私有框架:导入 RadioPreferences.h

检测 iPhone 是否处于飞行模式?

以上所有链接,告诉我使用 AppSupport.framework 和使用 RadiosPreferences.h。这给了我关于 airPlane 模式是打开还是关闭的状态,但这并没有让我改变飞行模式。

然后我看到了这个链接,如何使用私有 API 在 IOS 5.1 中打开/关闭飞行模式,这为我提供了切换飞行模式的方法,但它使用的是权利,它只适用于越狱设备。有没有办法以编程方式设置飞行模式(可以使用私有 API,但不能使用权利)。

4

2 回答 2

5

每个 App Store 应用程序都被沙盒化并带有权利。

如果您想在 App Store 中分发您的应用程序,那么您想要实现的目标根本不可能。您的应用程序根本无法获得足够的权限来实现远程类似的任何事情。您无法设置更改系统行为的全局设置。苹果永远不会允许这样做。

充其量您可以通过可达性监控网络连接的状态,但这就是它。使用私有 API = 直接应用拒绝。

于 2014-02-20T02:59:01.437 回答
-3

如果您不关心 AppStore 提交并且您的设备已越狱(最高 iOS 7.0.4 可以越狱),那么您可以按照这些步骤以编程方式打开或关闭飞行模式。我还附上了一个示例项目,以使事情变得更容易。

  1. 下载 ( https://iosopendev.googlecode.com/files/iOSOpenDev-1.6-2.pkg ) 并安装。这将安装必要的工具,以便将应用程序直接安装在 Apple 应用程序所在的位置。这是必需的,以便您拥有适当的访问权限和权限。

  2. 使用 Cydia 在您的设备中安装 OpenSSH。然后按照本教程:(http://www.priyaontech.com/2012/01/ssh-into-your-jailbroken-idevice-without-a-password/)启用无密码访问(使用 SSH 密钥)。

  3. 从这里下载我创建的示例项目:( https://www.dropbox.com/s/c0i76vmtfckvsut/ToggleAirplane.zip ) 该项目使用与 Apple 的 SpringBoard 应用程序(控制主屏幕的应用程序)相同的权利。因此,您将可以访问所有设置。您只需要知道如何以编程方式调用它。

  4. 在构建设置中,转到“用户定义”部分并将 iOSOpenDevDevice 键的值编辑为您设备的 IP 地址。

  5. 现在最棒的部分。按 Command + Shift + I。这将安装并重新启动您的设备。

  6. 但是,您可能看不到该应用程序。要查看它,请从 Cydia 下载 Respring 应用程序。当您启动它时,它将重新启动设备。您应该能够在主屏幕上看到应用程序“ToggleAirplane”。

注意:您将无法从主屏幕删除它,就像您无法使用 Apple 的应用程序一样。要删除它,您需要转到 Cydia->Packages。完善应用程序并卸载。

于 2014-05-02T07:11:42.000 回答