首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >expo-权限-错误:无法识别的权限:位置

expo-权限-错误:无法识别的权限:位置
EN

Stack Overflow用户
提问于 2019-12-31 16:35:49
回答 1查看 946关注 0票数 0

这是一个赤裸裸的反应原生项目。

我正在使用的代码:

代码语言:javascript
复制
import * as unimodules from 'react-native-unimodules';
// ...
    unimodules.Permissions.getAsync(unimodules.Permissions.LOCATION)
      .then(console.info)
      .catch(console.error)

;package.json中的版本

代码语言:javascript
复制
"react-native-unimodules": "^0.7.0",

在yarn.lock中

代码语言:javascript
复制
expo-permissions@~8.0.0:
  version "8.0.0"
  resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-8.0.0.tgz#5a45e8451dd7ff37c9e6ce5e2447818372547813"
  integrity sha512-GHTRmwh1rd1b0FcibluPFu93NNQyl9b1anBBDVPmomoo9Prz7kDcO5p2hFqM99r896yvAUSe0fPloPKUq4g/1A==
save error about some other permission type (Permissions.NOTIFICATIONS works fine, while Permissions.CAMERA does not)

所以我开始检查代码。此处定义了权限列表

错误似乎来自这里,https://github.com/expo/expo/blob/master/packages/expo-permissions/ios/EXPermissions/EXPermissions.m#L69

https://github.com/expo/expo/blob/master/packages/expo-permissions/src/Permissions.ts#L28。这是一个列表。

然而在这里,https://github.com/expo/expo/blob/master/packages/expo-permissions/ios/EXPermissions/EXPermissions.m#L58,我看到了

代码语言:javascript
复制
  [self registerRequesters:@[userNotificationRequester, remoteNotificationRequester]];

仅对通知调用。因此,这些代码意味着getAsync只适用于Notifications。是真的吗?我甚至不知道如何向世博会团队报告这个问题。

PS我的环境:

代码语言:javascript
复制
  Expo CLI 3.11.3 environment info:
System:
  OS: macOS 10.14.6
  Shell: 3.2.57 - /bin/bash
Binaries:
  Node: 12.14.0 - ~/.config/nvm/12.14.0/bin/node
  Yarn: 1.21.1 - /usr/local/bin/yarn
  npm: 6.13.4 - ~/.config/nvm/12.14.0/bin/npm
  Watchman: 4.9.0 - /usr/local/bin/watchman
IDEs:
  Android Studio: 3.5 AI-191.8026.42.35.6010548
  Xcode: 11.2.1/11B500 - /usr/bin/xcodebuild
npmPackages:
  @types/react-native: ^0.60.22 => 0.60.22
  react: 16.9.0 => 16.9.0
  react-native: 0.61.5 => 0.61.5
  react-navigation: ^4.0.10 => 4.0.10
npmGlobalPackages:
  expo-cli: 3.11.3
EN

回答 1

Stack Overflow用户

发布于 2019-12-31 17:30:40

好的。奇怪的是,它没有在文档中被发现。

registerRequesters是从其他expo模块调用的。因此,要使用location权限请求,我必须安装expo-location。该模块在此处注册请求者:

https://github.com/expo/expo/blob/8b45846976d16b28329bd5fb067040c16db50089/packages/expo-location/ios/EXLocation/EXLocation.m#L63

如果您遇到类似的问题,其他模块似乎也是如此

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59541610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档