web-dev-qa-db-ja.com

TypeError:undefinedはオブジェクトではありません(「navigator.geolocation.requestAuthorization」を評価しています)

私は電話をかけようとしています:

`navigator.geolocation.requestAuthorization();`

ジオロケーション権限をリクエストします。

しかし、これはiOSシミュレーターで実行するとエラーになります

これはある時点で機能していましたが、停止しました。新しいプロジェクトを削除して作成しようとしました。また、nodeとreact-native-cliをアンインストール/再インストールしようとしました。

import React, {Fragment, Component} from 'react';
import {
  SafeAreaView,
  StyleSheet,
  ScrollView,
  View,
  Text,
  StatusBar,
} from 'react-native';

import {
  Header,
  LearnMoreLinks,
  Colors,
  DebugInstructions,
  ReloadInstructions,
} from 'react-native/Libraries/NewAppScreen';

export default class App extends Component {

    constructor(props)
    {
        super(props);

        navigator.geolocation.requestAuthorization();
    }

    render() {

        return (

                <View style={styles.MainContainer}>
                <SafeAreaView style={{flex: 1, backgroundColor: '#fff'}}>
                <Text style={styles.sectionTitle}>Hello World!</Text>
                </SafeAreaView>
                </View>

                );
    }
}

const styles = StyleSheet.create({
  MainContainer :{
     justifyContent: 'center',
     flex:1,
     margin: 5,
     marginTop: (Platform.OS === 'ios') ? 20 : 0,
  },
  sectionTitle: {
    fontSize: 24,
    fontWeight: '600',
    color: Colors.black,
  },
});

このエラーが発生しています:

[error][tid:com.facebook.react.JavaScript] TypeError: undefined is not an object (evaluating 'navigator.geolocation.requestAuthorization')

This error is located at:
    in App (at renderApplication.js:40)
    in RCTView (at View.js:35)
    in View (at AppContainer.js:98)
    in RCTView (at View.js:35)
    in View (at AppContainer.js:115)
    in AppContainer (at renderApplication.js:39)
13
digitalbeans

Xcodeプロジェクトの設定で、ビルドフェーズにlibRCTGeolocation.aをライブラリにリンクし、Xcodeプロジェクトのライブラリの下にRCTGeolocation.xcodeprojが追加されていることを確認してください。

0
Rajkumar

RN 0.6以降では、ジオロケーションはRNコアに含まれていません。そのAPIを使用する場合は、このリンクの手順に従ってください: https://github.com/react-native-community/react-native-geolocation

0
KieuThang