Skip to content

Commit cb7c376

Browse files
committed
Replace CBPeripheralManager.authorizationStatus (deprecated)
1 parent a902f2a commit cb7c376

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

ios/BluetoothPeripheral/RNPermissionHandlerBluetoothPeripheral.m

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,28 @@ - (void)checkWithResolver:(void (^ _Nonnull)(RNPermissionStatus))resolve
3232
return resolve(RNPermissionStatusNotAvailable);
3333
}
3434

35-
switch ([CBPeripheralManager authorizationStatus]) {
36-
case CBPeripheralManagerAuthorizationStatusNotDetermined:
37-
return resolve(RNPermissionStatusNotDetermined);
38-
case CBPeripheralManagerAuthorizationStatusRestricted:
39-
return resolve(RNPermissionStatusRestricted);
40-
case CBPeripheralManagerAuthorizationStatusDenied:
41-
return resolve(RNPermissionStatusDenied);
42-
case CBPeripheralManagerAuthorizationStatusAuthorized:
43-
return resolve(RNPermissionStatusAuthorized);
35+
if (@available(iOS 13.0, *)) {
36+
switch ([[CBManager new] authorization]) {
37+
case CBManagerAuthorizationNotDetermined:
38+
return resolve(RNPermissionStatusNotDetermined);
39+
case CBManagerAuthorizationRestricted:
40+
return resolve(RNPermissionStatusRestricted);
41+
case CBManagerAuthorizationDenied:
42+
return resolve(RNPermissionStatusDenied);
43+
case CBManagerAuthorizationAllowedAlways:
44+
return resolve(RNPermissionStatusAuthorized);
45+
}
46+
} else {
47+
switch ([CBPeripheralManager authorizationStatus]) {
48+
case CBPeripheralManagerAuthorizationStatusNotDetermined:
49+
return resolve(RNPermissionStatusNotDetermined);
50+
case CBPeripheralManagerAuthorizationStatusRestricted:
51+
return resolve(RNPermissionStatusRestricted);
52+
case CBPeripheralManagerAuthorizationStatusDenied:
53+
return resolve(RNPermissionStatusDenied);
54+
case CBPeripheralManagerAuthorizationStatusAuthorized:
55+
return resolve(RNPermissionStatusAuthorized);
56+
}
4457
}
4558
#endif
4659
}
@@ -62,12 +75,10 @@ - (void)requestWithResolver:(void (^ _Nonnull)(RNPermissionStatus))resolve
6275
}
6376

6477
- (void)peripheralManagerDidUpdateState:(nonnull CBPeripheralManager *)peripheral {
65-
int state = peripheral.state;
66-
6778
[_peripheralManager stopAdvertising];
6879
_peripheralManager = nil;
6980

70-
switch (state) {
81+
switch (peripheral.state) {
7182
case CBManagerStatePoweredOff:
7283
case CBManagerStateResetting:
7384
case CBManagerStateUnsupported:

0 commit comments

Comments
 (0)