事务清单:
第一步,需要两个主页面,一个是作为中心central读取数据,一个是作为外设peripheral发送数据,那么就要用到TabBarController(选项卡,标签栏);
第二步,centtal视图,接收数据显示的文本框;
第三步,peripheral视图,发送数据,有一个确定发送的开关switch,一个可编辑的文本框;
由于目前手头上只有一部iPhone,与mac蓝牙通讯,用lightblue软件测试,iPhone只能作为peripheral验证,所以先实现第一步和第三步。
开始模仿demo,Objective-C版本,https://developer.apple.com/library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html
或是Swift版本,https://github.com/0x7fffffff/Core-Bluetooth-Transfer-Demo
我是参考的Swift版本的,开始
1)新建一个工程MyBLE,把故事板上的view controller删除,添加一个Tab Bar Controller,并设置为初识view controller
2)把原来的ViewController.swift去掉,新建一个cocoa touch class ,名为BLEPeripheralViewController继承UIViewController,
选项2设定为外设的视图,Item2的class为BLEPeripheralViewController,Bar Item修改Item2为Peripheral,添加一个switch控件,并在BLEPeripheralViewController上关联一个变量advertisingSwitch 和一个方法switchChanged()实现开关打开时广播数据,关闭时停止广播。如下
3)添加可编辑的文本框Text View,并在BLEPeripheralViewController上关联一个变量textView,如下:
4)开始在并在BLEPeripheralViewController上编写外设发送数据的代码,先copy参考的代码;
5) 添加CoreBluetooth的framework
6) 自动排版
7) 修改错误,没有错误
8)真机调试