我正在寻找一种简单的方法来在 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(使用前将#替换为@)