Expo XDE React-Native CAMERA_ROLL 权限“未确定”
Posted
技术标签:
【中文标题】Expo XDE React-Native CAMERA_ROLL 权限“未确定”【英文标题】:Expo XDE React-Native CAMERA_ROLL Permission `undetermined` 【发布时间】:2018-05-21 10:33:57 【问题描述】:我使用 expo XDE 创建了一个新的 react native 项目,我只是添加了一个按钮来获取相机胶卷权限,但它给出了一个错误:Error: Missing camera roll permission.
当我记录Permissions.askAsync()
方法的返回值时,它告诉我权限是status: "undetermined", expires: "never"
。
是否可以显式进入设备设置并允许 expo 应用程序的相机胶卷权限?我正在使用ios模拟器作为设备,但我找不到允许相机胶卷权限的设置。
我的App.js代码如下:
import React from 'react';
import StyleSheet, Text, View, TouchableOpacity from 'react-native';
import Permissions, ImagePicker from 'expo';
export default class App extends React.Component
render()
return (
<View style=styles.container>
<Text>Open up App.js to start working on your app!</Text>
<TouchableOpacity
onPress=() =>
debugger;
console.log(Permissions.CAMERA_ROLL)
return Permissions.getAsync(Permissions.CAMERA_ROLL)
.then((permission) =>
debugger;
return ImagePicker.launchImageLibraryAsync(
height: '100px',
width: '100px',
base64: true
).then((result) =>
const base64 = result;
debugger;
return base64;
).catch((e) =>
console.log(e);
debugger;
);
).catch((e) =>
console.log(e);
debugger;
);
><Text>get image</Text></TouchableOpacity>
</View>
);
const styles = StyleSheet.create(
container:
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
,
);
【问题讨论】:
可以在真机上试试,而不是ios模拟器吗? 在真机上,权限返回为status: "denied", expires: "never"
。我已经进入手机设置,我可以看到设置被设置为允许完全访问Photos
、Camera
、Mobile Data
。
【参考方案1】:
这是我为非 Expo 示例所做的,使用 Simulator 和 Xcode 的菜单栏:
-
模拟器 > 硬件 > 擦除所有内容和设置(等待此完成)
Xcode > 产品 > 清洁(等到完成)
react-native run-ios
来自终端的新版本
希望这会有所帮助。
【讨论】:
以上是关于Expo XDE React-Native CAMERA_ROLL 权限“未确定”的主要内容,如果未能解决你的问题,请参考以下文章
无法使用本地网络上的 expo 客户端连接到 expo xde