React-native-камера в Ios не работает, не появляется - PullRequest
1 голос
/ 28 мая 2019

Создание демонстрации для распознавания текста с помощью камеры с использованием библиотеки react-native-camera, но камера не открывается

ВЫПОЛНЕНО ВСЕ ЭТИ ШАГИ:

npm install react-native-camera --save
react-native link react-native-camera
  • Перейти к node_modules ➜ реагировать-native-camera и добавьте RNCamera.xcodeproj
  • Разверните папку RNCamera.xcodeproj ➜ Products
  • В XCode в навигаторе проекта выберите ваш проект.Добавьте libRNCamera.a к этапам сборки вашего проекта ➜ Связать двоичные файлы с библиотеками

  • Нажмите RNCamera.xcodeproj в навигаторе проекта и перейдите на вкладку «Настройки сборки».Убедитесь, что включен параметр «Все» (вместо «Основной»).

  • В разделе «Пути поиска» найдите пути поиска в заголовке и убедитесь, что он содержит оба значения $ (SRCROOT) /../../react-native/React и $ (SRCROOT) /../../../ React - пометить оба как рекурсивные

    import { RNCamera } from 'react-native-camera'; 
    
    camerascan(){
     console.log("camscan=====")
     return(
    
       <RNCamera
       ref={ref => {
         this.camera = ref;
       }}
       defaultTouchToFocus
       mirrorImage={false} 
       captureAudio={false}
       style={{
         flex: 1,
         justifyContent: 'space-between',
         alignItems: 'center',
         height: Dimensions.get('window').height,
         width: Dimensions.get('window').width,
       }}
    
       permissionDialogTitle={'Permission to use camera'}
       permissionDialogMessage={'We need your permission to use your camera phone'}
    
    
     >
          <View
               style={{
                 height: 56,
                 backgroundColor: 'transparent',
                 alignSelf: 'flex-end',
               }}
             >
      <TouchableOpacity onPress={this.takePicture.bind(this)}>
         <Text style={styles.capture}> [CAPTURE CARD]</Text>
         </TouchableOpacity>
         </View>
     </RNCamera>  
    
     );
    
    }
       takePicture = async function() {
         console.log("takePicture=====")
         if (this.camera) {
          // const options = { quality: 0.5, base64: true };
           // const data = await this.camera.takePictureAsync(options)
           const data = await this.camera.takePictureAsync();
           console.warn('takePicture ', data);
           // this.detectText(data.base64)
         }
       };
    

Нет ошибок, нокамера не открывается.

1 Ответ

1 голос
/ 29 мая 2019
Done gave the  runtime permissions for camera

import Permissions from 'react-native-permissions'

 componentDidMount()
 {
    this.determinePermission();
  }
  determinePermission(){    
    Permissions.request('camera', { type: 'always' }).then(response => {
      this.setState({ locationPermission: response })

    })

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...