我看到以编程方式打开和关闭蓝牙是一个“私人api”的东西,在iOS的流行版本中会被苹果itunes商店拒绝。
但是在iOS 5中,我知道之前不再私有的私密内容,例如以编程方式更改屏幕亮度。执行此操作将不再使用iOS 5在iTunes中拒绝您的应用,因此我想知道其他内容是否公开可用,例如蓝牙适配器。
答案 0 :(得分:5)
CoreBluetooth在iOS 5中公开发售。不幸的是,它仅适用于新的蓝牙LE(低能耗)设备。
答案 1 :(得分:2)
这不公开。你会被拒绝。
答案 2 :(得分:2)
根据iOS 5.0 Release Notes,没有提及任何公开的蓝牙功能。
答案 3 :(得分:2)
我设法在运行OS 5.1的iPod上成功使用Private BluetoothManager API。
所以我说它仍然有用。
我在这里提供了一个示例:http://www.pocketmagic.net/?p=2827,位于文章的底部。 在那里,您不仅可以阅读蓝牙ON,OFF,还可以阅读远程蓝牙设备,并将其列在用户界面中。
答案 4 :(得分:2)
我需要以编程方式启用蓝牙。我所做的是使用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;
}
您的应用不会被拒绝。
答案 5 :(得分:1)
不,蓝牙仍无法使用:(