我是世博会的新手,我不知道这里有什么问题,我对安卓已经足够好了,我正试图在一个新创建的空白react-native Expo项目中使用react-native-qrcode-scanner。我没有接触到项目中的任何东西,只是创建了一个全新的项目,然后我收到一个错误,显示为RNPermissions is null。我认为传递有关我的android应用程序的详细信息是很有说服力的,有人能帮助我如何开始吗?我使用react-native-permissions是因为二维码扫描器的代码需要它,我卸载了依赖项中的所有东西,只留下了这些:
"dependencies": {
"expo": "~36.0.0",
"react": "~16.9.0",
"react-dom": "~16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
"react-native-permissions": "^2.0.2",
"react-native-web": "~0.11.7"
}所以在App.js中只有基本的欢迎使用react消息,如下所示:
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { check, PERMISSIONS, RESULTS } from 'react-native-permissions';
class App extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
export default App;这是app.json文件:
{
"expo": {
"name": "App1",
"slug": "App1",
"privacy": "public",
"sdkVersion": "36.0.0",
"platforms": [
"ios",
"android",
"web"
],
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true
}
}
}发布于 2019-12-12 16:32:41
这个react-native-qrcode-scanner包建议使用react原生摄像头,并且需要链接。如果你使用的是expo,你将无法链接,因为expo不允许链接库。因此,如果你计划使用相同的库,那么首先从expo中弹出以进行本机反应,然后尝试使用它,因为你无法访问链接库。
如果你想在expo中实现,那么expo有自己的条形码描述器,请在下面查看它。expo barcode scanner。它有一个漂亮的医生。一定要读一读。
希望能有所帮助。请不要有疑问
发布于 2019-12-12 16:13:37
根据您在App.js上共享的内容,您尚未使用react-native-permissions中的任何函数
您需要获得设备所有者的许可批准才能使用摄像头。一些您可能会遗漏的东西,您需要检查以下内容:
适用于Android
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />的库
对于iOS
中
<key>NSCameraUsageDescription</key>
<string>Our app need your permission to use your camera phone</string>)的iOS文件夹(适用于React Native >= 0.60)上安装有库链接的
react-native link
https://stackoverflow.com/questions/59299992
复制相似问题