티스토리 뷰
설정 방법 (url 스키마는 "testmyapp"이라는 이름을 예시로 하겠음)
ios
1. AppDelegate.m에 다음 내용을 추가
#import <React/RCTLinkingManager.h> // 파일 상단에 추가
...
// Add this above `@end`:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
return [RCTLinkingManager application:application openURL:url options:options];
}
2. 프로젝트 - targets - 타겟 프로젝트 - info탭 - URL Types에 + 버튼을 누른 후 Identifier와 URL Schemes란에 허용할 이름 입력 & 빌드
android - AndroidManifest.xml 파일에 다음 내용을 추가 & 빌드
<activity
... >
// activity 블록 안에 추가
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="testmyapp" />
</intent-filter>
</activity>
reacxt-native - 다음 내용의 TestScreen.js 파일 추가
import React, {useEffect} from 'react';
import {Linking, Alert} from 'react-native';
const TestScreen = (props) => {
useEffect(() => {
Linking.getInitialURL() // 최초 실행 시에 Universal link 또는 URL scheme요청이 있었을 때 여기서 찾을 수 있음
.then(value => {
Alert.alert('getInitialURL', value);
})
Linking.addEventListener('url', (e) => { // 앱이 실행되어있는 상태에서 요청이 왔을 때 처리하는 이벤트 등록
const route = e.url.replace(/.*?:\/\//g, '');
Alert.alert('add e.url', e.url);
});
return () => {
Linking.removeEventListener('url', (e) => { // 이벤트 해제
Alert.alert('remove e.url', e.url);
});
};
})
}
에뮬레이터 상에서 테스트!
android: $ npx uri-scheme open testmyapp://paremeter=239193 --android
ios: $ npx uri-scheme open testmyapp://paremeter=239193 --ios
반응형
'RN' 카테고리의 다른 글
[React]특정 디렉토리 기준으로 import 경로 설정하기 (0) | 2022.01.17 |
---|---|
iOS 14 - 이미지 렌더링이 되지 않는 증상 (0) | 2021.09.29 |
[React Native] react-native-router-flux 연속 Push, Pop 대응 (0) | 2021.01.15 |
RN] 글꼴 적용하기 (0.62.2) (0) | 2020.06.28 |
[Android] 에뮬레이터 먹통(응답없음)되는 경우 (4) | 2020.06.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- idea command
- png
- multidex
- Monterey
- jpeg
- cocoapods
- WKwebview
- Gif
- zip
- F
- multiple commands produce
- proguard
- local
- env: python
- mac command
- Podfile
- TextInput 한글
- HTML
- DEX
- 12.5
- 프로가드
- idea
- uicollecionview
- ReactNative 한글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함