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

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

当我在不同的位置和使用场景之间移动时,我不断地切换这些function,现在需要多次点击并访问设置应用程序。 我正在寻找创build一个简单的应用程序,在Springboard上生活,我可以点击,它将closures无线networking,如果打开,反之亦然,然后立即退出。 与用于切换蓝牙状态的应用程序类似。

我有开发人员的SDK,并且在Xcode和iOS开发中很舒服,所以很高兴编写所需的代码来创build应用程序。 我只是不知道哪些API,私有或者不具有所需的function来简单地切换这些设施的状态。

因为这是一个非常个人的痒,我没有试图出售应用程序或在应用程序商店得到它,所以符合应用程序的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项目并在设备上运行即可。 这样做创build一个1轻击应用程序切换蓝牙打开和closures。