私は電話をかけようとしています:
`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)
Xcodeプロジェクトの設定で、ビルドフェーズにlibRCTGeolocation.aをライブラリにリンクし、Xcodeプロジェクトのライブラリの下にRCTGeolocation.xcodeprojが追加されていることを確認してください。
RN 0.6以降では、ジオロケーションはRNコアに含まれていません。そのAPIを使用する場合は、このリンクの手順に従ってください: https://github.com/react-native-community/react-native-geolocation