我有一个iOS 8应用程序,我用它通过蓝牙从1台设备传输数据到另一台设备。
我可以使用所有服务和特性,并且可以进行实际转移。
我试图将中央管理器推送到另一个线程,但是中央端的UI锁定,直到传输完成。当我查看乐器时,我看到线程1被钉住了。
我试过这个,但似乎没有用......
[[CBCentralManager alloc] initWithDelegate:self queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)];
将CBManager
投入后台的正确方法是什么,这样才不会破坏UI线程?
答案 0 :(得分:1)
初始化CBCentralManager
时指定队列将在该队列上传递CBCentralManager
个委托事件,但您的数据传输由CBPeripheral
方法执行。您应该在后台线程
writeValue