iOS使用privateframework开启蓝牙教程
2012-04-25 10:46
316 查看
有个项目需要研究非ios设备与ios设备的连接,之前了解到苹果的官方api是不支持这个操作的,于是便开始研究苹果的私有api。
在cc上也有很多帖子讨论过,但始终没什么实质性进展。
本人经过一番google,成功使用私有api开启了iphone的蓝牙。现在把方法分享出来,希望能给大家提供一些思路。
1.首先在/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/PrivateFrameworks路径下找到BluetoothManager.framework(如果我没估计错的话,里面只有一个库文件,没有头文件)
2.然后到http://iphone-dev.googlecode.com/svn/branches/include-1.2-sdk/include/BluetoothManager/上下载所需的头文件,手动添加到BluetoothManager.framework中,并建立一个Headers文件夹。
3.建立一个工程将以上路径下的BluetoothManager.framework添加到工程中
4.将以下代码添加到工程中。(注意:不需要引入BluetoothManager的头文件,否则会出现编译错误)
-(void)startBluetooth{
#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
}
#if TARGET_IPHONE_SIMULATOR
#else
- (void)toggle:(id)btCont
{
BOOL currentState = [btCont enabled] ;
[btCont setEnabled:!currentState] ;
[btCont setPowered:!currentState] ;
}
#endif
5.在真机上编译运行,会发现iphone的蓝牙成功开启。
但是,遗憾的是,目前我研究出来的只有开启蓝牙,关于设备匹配,数据传输方面没什么进展。
希望有人能再接再厉,在我的基础上研究出设备匹配和数据传输的方法,分享出来给大家~
顺便附上运行成功的工程文件和framework供大家参考~
在cc上也有很多帖子讨论过,但始终没什么实质性进展。
本人经过一番google,成功使用私有api开启了iphone的蓝牙。现在把方法分享出来,希望能给大家提供一些思路。
1.首先在/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/PrivateFrameworks路径下找到BluetoothManager.framework(如果我没估计错的话,里面只有一个库文件,没有头文件)
2.然后到http://iphone-dev.googlecode.com/svn/branches/include-1.2-sdk/include/BluetoothManager/上下载所需的头文件,手动添加到BluetoothManager.framework中,并建立一个Headers文件夹。
3.建立一个工程将以上路径下的BluetoothManager.framework添加到工程中
4.将以下代码添加到工程中。(注意:不需要引入BluetoothManager的头文件,否则会出现编译错误)
-(void)startBluetooth{
#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
}
#if TARGET_IPHONE_SIMULATOR
#else
- (void)toggle:(id)btCont
{
BOOL currentState = [btCont enabled] ;
[btCont setEnabled:!currentState] ;
[btCont setPowered:!currentState] ;
}
#endif
5.在真机上编译运行,会发现iphone的蓝牙成功开启。
但是,遗憾的是,目前我研究出来的只有开启蓝牙,关于设备匹配,数据传输方面没什么进展。
希望有人能再接再厉,在我的基础上研究出设备匹配和数据传输的方法,分享出来给大家~
顺便附上运行成功的工程文件和framework供大家参考~
相关文章推荐
- iOS使用privateframework(私有api)开启蓝牙教程
- [蓝牙]iOS使用Private Framework开启蓝牙教
- iOS使用privateframework开启蓝牙教
- iOS Parse教程——如何使用Parse在iOS应用创建后台服务
- 使用Swift实现iOS App中解析XML格式数据的教程
- IOS UI学习教程之使用代码创建button
- IOS高级教程3:UITapGestureRecognizer手势识别的简单使用到精通
- iOS开发笔记--开源播放框架ijkplayer(iOS版)使用教程
- mac 使用apache开启https功能,实现ios局域网内测(一)
- ios开发日记 - 3 CocoaPods安装和使用教程
- iOS开发中导航控制器的基本使用教程
- iOS手势识别和使用教程
- IOS类库管理工具CocoaPods的使用教程
- iOS之蓝牙简介和使用(二):MutipeerConnectivity
- 使用Xcode 5.1.1编译iOS Framework详细教程
- iOS云存储:CloudKit 基本使用教程 增删改查(Swift)
- iOS应用开发中视图控件UIWindow的基本使用教程
- iOS自学笔记之XIB的使用教程
- iOS开发教程:Xcode4.2-Storyboard的简单使用
- iOS学习之Socket使用简明教程- AsyncSocket