1

我目前正在制作一个使用蓝牙来做广告并扫描该广告的应用程序。这样,如果我在两部不同的手机上都有应用程序,那么一个可能是外围设备,另一个可能是中央设备。我需要划分这些功能吗?基本上,我在 viewDidLoad 和协议中打开了外围管理器以及所有调用的东西,所以当我打开它时基本上正确,它开始做广告。在另一个实现文件中,我有同样的东西,但对于中央管理器。因此,中央管理器也在 viewDidLoad(但不同的文件)中启动,然后调用所有协议,然后开始扫描。

我的问题是:

是否可以同时以相同的方式但在不同的实现文件中实现这些角色,还是我需要为两者设置不同的状态?

我不知道这是否相关,但是我的所有代码都已检出,但是,当我尝试运行它时,它并没有超过链接阶段,并且给了我这个错误:

Apple Mach-O 链接器错误

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

4

1 回答 1

0

在同一时间扫描 aCBCentralManager并在 a 上做广告是完全可以的。CBPeripheralManager您的问题是您没有添加CoreBluetooth.framework最有可能的(通常是链接器错误的来源)。我还建议在他们自己的单例文件中实现CBCentralManagerand (不是必需的,但它更干净)。CBPeripheralManager

于 2013-11-08T00:03:50.457 回答