繁体   English   中英

iOS 5:以编程方式打开和关闭蓝牙

[英]iOS 5: programmatically turn bluetooth on and off

我看到以编程方式打开和关闭蓝牙是一个“私人api”的东西,在iOS的流行版本中,将得到苹果itunes商店拒绝的应用程序。

但是在iOS 5中,我知道以前私有的东西不再是私密的,比如以编程方式改变屏幕亮度。 执行此操作将不再使用iOS 5在iTunes中拒绝您的应用,因此我想知道其他内容是否公开可用,例如蓝牙适配器。

CoreBluetooth在iOS 5中公开发售。不幸的是,它仅适用于新的蓝牙LE(低功耗)设备。

请参阅CoreBluetooth文档

我设法在运行OS 5.1的iPod上成功使用Private BluetoothManager API。

所以我说它仍然有效。

我在这里提供了一个样本: http//www.pocketmagic.net/?p = 2827 ,在文章的底部。 在那里,您不仅可以阅读蓝牙ON,OFF,还可以阅读远程蓝牙设备,并在用户界面中列出。

我需要以编程方式启用蓝牙。 我所做的是使用GKPeerPickerController,这要求你启用蓝牙,如果它尚未打开。 然后在调用GKPeerPickerControllerDelegate时,我解除了选择器。

不完美,你会在短时间内看到“搜索设备”,但它缺乏另一种方法(据我所知)。

GKPeerPickerController * peerpicker = [[GKPeerPickerController alloc]init];
peerpicker.delegate = self;
peerpicker.connectionTypesMask = GKPeerPickerConnectionTypeNearby;
[peerpicker show];

当peerpicker准备好搜索时,会有一个委托方法返回一个GKSession供选择器使用。 这是你解雇它的地方。

-(GKSession*)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type
{
    [picker dismiss];
    [picker autorelease];
    return nil;
}

并且您的应用不会被拒绝。

这不公开。 你会被拒绝。

根据iOS 5.0发行说明 ,没有提及任何公开可用的蓝牙功能。

不,蓝牙仍然无法使用:(

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM