Ich stehe vor dem Absturz Problem auf iOS CoreBluetooth [CBPeripheralManager AddService:]
.iOS-Absturz Assertion Failure auf CBPeripheralManager AddService:
Scheint aufgrund von Assertion Fehler in addService
Methode aufgetreten. Versucht so viele Möglichkeiten, kann immer noch nicht das Problem herausfinden.
Nach meinem Verständnis ist dies nicht null Zeiger Ausnahme, wie ich schon getestet Passing Nil-Wert als AddService-Parameter, die unterschiedliche Ausgabe ergeben.
Ich habe alle Delegierten von CBPeripheralManager einschließlich CBCentral Delegaten implementiert.
Im Allgemeinen funktioniert es gut. Normalerweise kann ich dieses Problem nicht mit Absicht reproduzieren. Aber es kommt plötzlich vor.
Bitte helfen Sie . Crash-Log:
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)
Codestück:
-(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];
}
Vielen Dank im Voraus.
Aktie einige Code, den Sie –
bitte versuchen Sie Ihren Code teilen – Dhiru
Code-Snippet hinzugefügt, teilen Sie bitte den Grund für diese Art von Assertion fehlgeschlagen. –