iOS使用privateframework(私有api)开启蓝牙教程
2013-08-10 13:53
447 查看
有个项目需要研究非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供大家参考~
个人博客:http://blog.csdn.net/zhaoxy2850
本文地址:http://blog.csdn.net/zhaoxy2850/article/details/9876119
转载请注明出处,谢谢!
在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供大家参考~
个人博客:http://blog.csdn.net/zhaoxy2850
本文地址:http://blog.csdn.net/zhaoxy2850/article/details/9876119
转载请注明出处,谢谢!
相关文章推荐
- iOS设备中WiFi、蓝牙和飞行模式的开启与关闭(私有API)
- iOS使用privateframework开启蓝牙教程
- ios中通过调试来使用私有api
- IOS开发之苹果私有API的使用
- ios私有API的使用
- IOS应用加载本地WebView禁止进行缓存(使用私有api)
- iOS-private-api-checker私有API检测工具使用详细步骤
- iOS使用privateframework开启蓝牙教
- IOS应用加载本地WebView禁止进行缓存(使用私有api)
- 使用私有api统计ios app运行时间及次数
- ios使用私有api被拒
- 使用私有api统计ios app运行时间及次数
- IOS打包验证时,提示使用了私有API的问题
- IOS私有API的使用
- IOS私有API的使用(转)
- [蓝牙]iOS使用Private Framework开启蓝牙教
- 使用iOS私有API获取安装应用列表
- ios中通过调试来使用私有api
- 查看iOS/Mac 的私有API - 使用class-dump
- ArcGIS API for iOS开发教程四 使用GraphicsLayer