제일 먼저 react-native-permissions 설치하기 (expo-location으로 대체 가능)
$ npm install --save react-native-permissions
android/app/src/main/AndroidManifest.xml에 코드 추가
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
rn 에서 코드 작성
if (Platform.OS === 'android') {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
title: 'Location Permission',
message:
'This app needs access to your location ' +
'so we can know where you are.',
buttonNeutral: 'Ask Me Later',
buttonNegative: 'Cancel',
buttonPositive: 'OK',
},
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log('You can use the location');
} else {
console.log('Location permission denied');
}
} catch (err) {
console.warn(err);
}
}
그리고 라이브러리 다운 ㄱㄱ 끝임
npm install react-native-wifi-reborn --save
podfile에 코드 복붙 (rn 0.72 이상일 시 ) 이하일 시 공식문서 참고
def node_require(script)
# Resolve script with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
"require.resolve(
'#{script}',
{paths: [process.argv[1]]},
)", __dir__]).strip
end
# Use it to require both react-native's and this package's scripts:
node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')
platform :ios, min_ios_version_supported
prepare_react_native_project!
setup_permissions([
'LocationWhenInUse'
])
infoplst에 아래와같이 ㄱ
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Application requires user’s location for better user experience.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Application requires user’s location for better user experience.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Application requires user’s location for better user experience.</string>
일단 위치권한은 끝
다음 wifi-reborn 설정
xcode 들어가서 .workspace 들어 간 후 Signing & Capabilities ㄱㄱ
Signing & Capabilities 탭바 아래 + Capability 버튼 코딱지만한거 있음 클릭ㄱ
Hotspot Configuration 및 Wireless Accessories Configuration 각각 검색 후 추가 하셈
clean build 싹 해주고
다시 리빌드 ㄱㄱ 그럼 됨
참고자료
공식문서 1 (rnwifireborn)
https://github.com/JuanSeBestia/react-native-wifi-reborn
공식문서 2 (rn permisions)
https://github.com/zoontek/react-native-permissions