아임포트 리액트 네이티브 모듈 설치 안내입니다. 아래 명령어를 통해 아임포트 모듈을 귀하의 리액트 네이티브 프로젝트에 추가할 수 있습니다. react-native-webview
모듈은 아임포트 모듈에 dependent하기 때문에 반드시 함께 설치해야 합니다. IOS12부터 UIWebView는 deprecated되어 warning이 뜨지만 IOS13부터는 에러가 발생합니다. 때문에 react-native-webview
모듈은 이에 대비하기 위해 7.x 이상 버전이 요구됩니다. 이미 react-native-webview
모듈을 사용하고 계시다면, 버전 체크 후 7.x 버전으로 업그레이드 하셔야 합니다.
$ npm install iamport-react-native --save
$ npm install react-native-webview --save // IOS13 대비 7.0.0 이상 버전 설치 필수
아래 다음 명령어를 통해 아임포트 모듈을 귀하의 안드로이드/IOS 프로젝트에 추가할 수 있습니다.
$ npm install -g react-native-cli
$ react-native link iamport-react-native
$ react-native link react-native-webview
성공적으로 마쳤을 경우, 아래와 같은 화면을 보실 수 있습니다.
실패한 경우, 아래 과정을 통해 iamport-react-native 모듈을 귀하의 프로젝트에 수동으로 연결시킬 수 있습니다.
- XCode 프로젝트(
[...]/ios/[...].xcodeproj
)를 더블클릭해 오픈합니다. - 왼쪽 프로젝트 네비게이터에서,
Libraries
폴더를 마우스 오른쪽 클릭 ➜Add Files to [your project's name]
를 클릭합니다. [...]/node_modules/iamport-react-native/ios/IamportReactNative.xcodeproj
와[...]/node_modules/react-native-webview/ios/RNCWebView.xcodeprof
를 선택해 추가합니다.- 왼쪽 프로젝트 네비게이터에서, 귀하의 타깃을 클릭 ➜ 오른쪽 상단
Build Phases
를 클릭합니다. - 세번째 메뉴인
Link Binary With Libraries
를 열어libIamportReactNative.a
파일과libRNCWebView.a
파일을 추가합니다.
android/app/src/main/java/[...]/MainApplication.java
파일을 열어 아래 코드를 추가합니다.
import com.iamport.IamportPackage; // 아임포트 패키지를 불러옵니다.
import com.reactnativecommunity.webview.RNCWebViewPackage; // 리액트 네이티브 웹뷰 패키지를 불러옵니다.
...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new IamportPackage(), // 아임포트 패키지를 추가합니다.
new RNCWebViewPackage(), // 리액트 네이티브 웹뷰 패키지를 추가합니다.
);
}
android/settings.gradle
파일을 열고 아래 코드를 추가합니다.
...
include ':iamport-react-native'
project(':iamport-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/iamport-react-native/android')
include ':react-native-webview'
project(':react-native-webview').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview/android')
...
android/app/build.gradle
파일을 열고 아래 코드를 추가합니다.
dependencies {
...
implementation project(':iamport-react-native')
implementation project(':react-native-webview')
...
}