在iOS中以编程方式切换AirPlane模式

我想以编程方式在iOS中开启/closures飞行模式。 Googlesearch后,我得到了一些以下的链接,并跟着他们,

可达性飞机模式(3G)与WiFi

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

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

上述所有的链接,告诉我使用AppSupport.framework和使用RadiosPreferences.h。 这是给我关于飞机模式是打开还是closures的状态,但是这并不使我改变飞行模式。

然后,我看到,这个链接, 如何使用私有API在IOS 5.1中打开/closures飞行模式 ,这使我可以切换飞行模式,但它使用权利,这只适用于越狱设备。 有什么办法,以编程方式设置飞行模式(可以使用私人API,但不能授权)。

每个应用程序商店应用程序都与权利沙盒。

如果你想在App Store中发布你的应用程序,你试图实现的是不可能的。 你的应用程序根本无法获得足够的特权来实现任何类似的远程任 您不能设置改变系统行为的全局设置。 苹果永远不会允许的。

在最好的情况下,您可以通过可达性来监控networking连接的状态,但这非常重要。 使用私人API =直接应用拒绝。

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

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

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

  3. 下载我从这里创build的示例项目:( https://www.dropbox.com/s/c0i76vmtfckvsut/ToggleAirplane.zip )该项目使用苹果的SpringBoard应用程序(控制主屏幕的应用程序)相同的权利。 所以你将有机会获得每一个设置。 您只需要知道如何以编程方式调用它。

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

  5. 现在最真棒的部分。 按Command + Shift + I.这将安装和respring您的设备。

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

注意:您将无法将其从主屏幕上删除,就像无法使用苹果应用程序一样。 要删除它,你需要去Cydia-> Packages。 罚款的应用程序并卸载。