1

这就是我的代码的样子

componentDidMount() {
  var fetchParams = {
    first: 25
  };

  CameraRoll.getPhotos(fetchParams, this.storeImages.bind(this), this.logError);
}

storeImages (data) {
  var assets = data.edges;
  var images = assets.map((asset) => asset.node.image);
  this.setState({
    images: images
  });
}

logError (error) {
  console.warn(error);
}

在应用程序中达到这一点后,我收到以下错误:

Object {code: -3311, message: "User denied access", nativeStackIOS: Array[9], domain: "ALAssetsLibraryErrorDomain"}

关于如何修复它的任何线索?

顺便说一句,请求许可的弹出窗口永远不会触发。

4

2 回答 2

0

当你打电话时,CameraRoll.getPhotosiOS 会启动一个权限对话框。

iOS 权限对话框

如果您不允许访问照片,则会收到您报告的错误。如果您允许访问,一切都应该没问题。未经用户许可,您将无法访问用户照片。

于 2016-01-06T23:22:10.297 回答
0

您可以使用此存储库(https://github.com/yonahforst/react-native-permissions)来检查权限并在应用程序中随时随地请求它们:-) 我正在使用它,它运作良好希望它帮助示例:

安装

npm install --save react-native-permissions
rnpm link
const Permissions = require('react-native-permissions');

检查请求

Permissions.getPermissionStatus('photo').then(response => {
    //response is one of: 'authorized', 'denied', 'restricted', or 'undetermined'
});

请求权限

Permissions.requestPermission('photo').then(response => {

});
于 2017-05-05T16:02:12.540 回答