gpt4 book ai didi

CBPeripheralManager AddService : 上的 iOS 崩溃断言失败

转载 作者:行者123 更新时间:2023-11-29 11:43:39 32 4
gpt4 key购买 nike

我在 iOS CoreBluetooth 上遇到崩溃问题 [CBPeripheralManager 添加服务:]

似乎是由于 addService 方法中的断言失败而发生的。试了很多方法,还是解决不了问题。

根据我的理解,这不是空指针异常,因为我已经测试过将 nil 值作为 AddService 参数传递会产生不同的问题。

我已经实现了 CBPeripheralManager 的所有委托(delegate),包括 CBCentral 委托(delegate)。

总的来说,它工作正常。通常我不能有意地重现这个问题。但它突然发生。

请帮忙.崩溃日志:

0   CoreFoundation                 0x18b3cafe0 __exceptionPreprocess + 124
1 libobjc.A.dylib 0x189e2c538 objc_exception_throw + 56
2 CoreFoundation 0x18b3caeb4 +[NSException raise:format:arguments:] + 104
3 Foundation 0x18be62720 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 112
4 CoreBluetooth 0x1922ab420 -[CBPeripheralManager addService:] + 820
5 MyApp 0x10110e1f4 -[MyPeripheralManager addServiceIntoPeripheralManager] (MyPeripheralManager.m:202)

代码片段:

-(void)addService{
if (!isServiceAdded) {
CLLog("Add Service timer started");
[backgroundTaskManager manageBackgroundRunningTask];
/*
AddService will be called after 5 seconds
when application launching finished or iOS BT on
*/
[self performSelector:@selector(addServiceIntoPeripheralManager) withObject:self afterDelay:SERVICE_ADDING_DELAY]; // 5 secs

} else {
CLDbg("Service already added");
}
}
- (void)addServiceIntoPeripheralManager{
CLLog("Add Service timer expired");
CLDbg("Service Adding: %@", [UUIDString]);
[cbPeripheralManager addService:Service];
}

提前致谢。

最佳答案

你没有实现你的 BluetoothManager 的回调更新

参见 this answer

This answer

希望对你有帮助

关于CBPeripheralManager AddService : 上的 iOS 崩溃断言失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45136054/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com