该应用的iOS版本需要两个不同的权限:麦克风和ble。目前,根据需要授予权限。但是,我想创建一个页面,该页面允许用户单击复选框,以便他们在首次启动应用程序时可以授予许可。
通过包含以下代码的方法要求麦克风访问:
OVBluetoothManager.startDetectingNoise(NOISE_DETECT_INTERVAL);
其中noings_detect_interval为3000。
ble是通过包含以下代码的方法要求的:
OVBluetoothManager.attemptToTriggerLEPairing();
这是ovbluetoothmanager.m文件中的两种方法:
RCT_EXPORT_METHOD(attemptToTriggerLEPairing)
{
[[someManager sharedInstance] getLED];
[[someManager sharedInstance] getBattery];
}
RCT_EXPORT_METHOD(startDetectingNoise:(NSInteger)timeInterval)
{
dispatch_async(dispatch_get_main_queue(), ^{
[self.noiseDetector startDetectingNoiseWithTimeIntervalInMs:timeInterval];
});
}
在这两种情况下,用户都会通过警报提示授予权限。假设用户授予许可,一切都照常进行。
在这篇文章中,建议以下代码:
Permissions.request('photo').then(response => {
if (response === 'authorized') {
iPhotoPermission = true;
}
Permissions.request('contact').then(response => {
if (response === 'authorized') {
iPhotoPermission = true;
}
});
});
可以一次授予多个权限。是否可以在不使用反应式验证的情况下执行此操作?
在警报上尝试此库以获取复选框:
https://www.npmjs.com/package/reaeact-native-awesome-alert