Expo XDE React-Native CAMERA_ROLL Разрешение "не определено" - PullRequest
0 голосов
/ 21 мая 2018

Я создал новый собственный реактивный проект, используя expo XDE, и я просто добавил кнопку, чтобы получить разрешения на поворот камеры, но выдает ошибку: 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',
  },
});

1 Ответ

0 голосов
/ 13 сентября 2018

Это то, что я сделал для примера не из Экспо, используя строку меню для Simulator и Xcode:

  1. Simulator> Hardware> Erase All Content and Settings (дождитесь завершения этого процесса)
  2. Xcode> Product> Очистить (дождаться завершения)
  3. react-native run-ios для новой сборки с терминала

Надеюсь, это поможет.

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