首页 > 解决方案 > 为什么 Expo Location.getBackgroundPermssionsAsync() 函数对 IOS 后台权限请求返回“拒绝”?

问题描述

我正在使用 Expo Location 库来获取我设备上的位置权限。我请求前台权限,然后根据文档要求获得后台权限。它在 Android 上运行良好,但在 IOS 上,它会弹出权限窗口,当我授予完全权限时,getBackgroundPermssionsAsync函数返回“拒绝”。这可能是什么原因?

我的请求代码如下;

const requestPermissions = async () => {

    console.log("requestPermissions called");

    let foregroundPermissionRequest = await Location.requestForegroundPermissionsAsync();
    if (foregroundPermissionRequest.status === 'granted') {

        console.log("requestPermissions foreground granted");

        let backgroundPermissionRequest = await Location.requestBackgroundPermissionsAsync();
        console.log("requestPermissions background", backgroundPermissionRequest);
        
        /* ----------> HERE status RETURNS AS denied ON IOS <---------- */

        if (backgroundPermissionRequest.status === 'granted') {
            console.log("requestPermissions background granted");
        }
      
    }
};

标签: iosreactjsreact-nativeexpo

解决方案


推荐阅读