在iPhone上以编程方式打开蓝牙

时间:2011-03-14 13:08:20

标签: ios iphone bluetooth

我只是想知道是否可以在iPhone上以编程方式打开蓝牙?

2 个答案:

答案 0 :(得分:3)

可以使用以下代码行打开/关闭蓝牙,但由于它访问Apple的私有框架,您的应用程序可能会拒绝在App store推送

- (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:1.0f] ;
#endif
    return YES ;
}

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

}
#endif

答案 1 :(得分:0)

由于某种原因,David Schiefer回答了你的问题,因为我只想重复他所说的话:

  

这是一个非常普遍的问题 - 此时,您可以将蓝牙用于GameKit(多人游戏)和无线耳机。 iPhone - >不支持非iPhone发送数据。但是,您可以使用GameKit将数据发送到其他iOS设备。

     

因为您已经更改了问题:一旦弹出连接对话框并选择了蓝牙,GameKit将启用蓝牙。