본문 바로가기

react-native21

React-Native - ITMS-90433: Invalid Swift Support - The file libswiftCore.dylib doesn’t have the correct code signature. React-Native에서 개발한 앱이 iOS 심사에서 반려를 받고 상태가 "Invalid Binary"로 바뀌었습니다. 구글링을 해도 정확한 해결책을 찾을 수 없어 심사를 통과한 앱의 React-Native 모듈의 버전과 비교하고, 차이가 있는 모듈의 버전으로 다시 컴파일 해서 심사를 제출했는데, 정상적을 제출이 되었습니다. 아래의 반려된 모듈의 버전과 정상적으로 심사를 진행중이 모듈의 버전을 기술하였습니다. 정확히 어떤 모듈 때문에 발생했는지는 모르지만 저와 같이 발려된 분에게 도움이 되길 바랍니다. [반려] "react-native-safe-area-context": "^3.0.6", "react-native-screens": "^2.9.0", "@babel/core": "7.10.3", "@bab.. 2021. 4. 7.
React-Native 0.64.0 화면간 데이터(파라미터) 전달하기 React-Native에서 화면간 데이터 즉 파라미터를 전달하는 방법입니다. 모듈 버전 react-native : 0.64.0 파라미터 전달 여러 데이터(파라미터)를 JSON으로 전달하면 됩니다. this.props.navigation.navigate('SCREEN_ID', {paramName1:paramValue1, paramName2:paramValue2, ...}); 파라미터 받기 this.props.route.params.paramName1 this.props.route.params.paramName2 ... 예제 (1) 데이터 전달하기 import React, { Component } from 'react'; import { View, Text, Button, TextInput } from 'r.. 2021. 4. 5.
react-native 0.64.0 화면간 이동 react-native를 개발 할 때 항상 느끼는거지만 버전에 따른 개발이 달라져서 힘들었습니다. 반드시 버전을 확인해서 개발에 적용하시길 바랍니다. 모듈 버전 react-native : 0.64.0 @react-navigation/native : ^5.9.4 @react-navigation/stack : ^5.14.4 react-native-gesture-handler : ^1.10.3 react-native-safe-area-context : ^3.2.0 react-native-screens : ^3.0.0 모듈 설치 npm install @react-navigation/native npm install @react-navigation/stack npm install react-native-safe-.. 2021. 4. 4.
React-Native 0.62.2에서 iOS 14에 이미지 표시 안되는 현상 해결 방법 React-Native 0.62.2에서 iOS 14에 이미지가 표시되지 않는 현상이 발생합니다. 아마도 0.62.x에서 동일하게 발생하는 것을 생각됩니다. 이 문제를 해결하기 위해서 구글링을 했는데, React-Native 0.62.2 모듈의 소스를 수정해야 해결이 됩니다. React-Native 0.62.2 모듈의 소스를 수정하고 싶지 않지만 해결책이 보이지 않아 수정하여 해결했습니다. /node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m 에서 "if (_currentFrame)" 를 찾아서 수정해야 합니다. [수정 전 소스] if (_currentFrame) { layer.contentsScale = self.animatedImage.. 2021. 3. 29.
React-Native iOS 개발을 위한 VMWare Play 설정 iOS 앱은 React-Native로 윈도우즈에서 코딩을 하고 VMWare Play의 macOS에서 컴파일 하고 있습니다. 최적의 VMWare Play 환경은 아니지만 나름대로 사용하고 있는 VMWare Play의 설정을 설명 없이 화면만 캡쳐하여 알려드리겠습니다. 1. 하드웨어 2. 옵션 2021. 3. 28.
React-Native Execution failed for task ':app:mergeDexDebug' React-Native 안드로이드 아래의 컴파일 오류 시 처리 방법입니다. [오류] Execution failed for task ':app:mergeDexDebug'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: [해결방법] /android/app/build.gradle 에 아래의 내용을 추가 후 컴파일 하세요. android { ... defaultConfig { ... multiDexEnabled true } ... 2021. 3. 28.
React-Native error: package android.support.annotation does not exist React-Native 안드로이드 컴파일 시 아래와 같이 오류가 발생해서 구글링해서 해결책을 찾았습니다. 참고하세요. [오류] ...\node_modules\react-native-admob\android\src\main\java\com\sbugert\rnadmob\RNAdMobBannerViewManager.java:4: error: package android.support.annotation does not exist import android.support.annotation.Nullable; [해결방법] npm install --save jetifier npx jetify npx react-native run-android 2021. 3. 28.
React-Native : 애드몹(AdMob) iOS 14 적용하기 iOS 14에서 고주용 식별자(IDFA)에 액세스하려는 앱의 경우 앱 추적 투명성(ATT) 프레임워크라는 메시지를 통해 사용자에게 액세스 권한을 요청해야 합니다. 애드몹 사이트에서 아래와 같이 2가지 알림이 표시되는데 해당 건을 처리하는 방법입니다. [권한 요청 화면] [React-Native 모듈 버전] react : "16.11.0" react-native : "0.62.2" react-native-admob : "2.0.0-beta.6" 1. Info.plist 수정 (1) SKAdNetworkItems 추가 SKAdNetworkItems SKAdNetworkIdentifier cstr6suwn9.skadnetwork { this.state.banner = ; this.setState(this.st.. 2021. 3. 27.
React-Native iOS 앱 심사 반려(구글 맵 관련) React-Native로 제작된 iOS앱인 서울버스-도착정보가 앱 심사에서 반려가 되었습니다. 기존에 URL Link로 구글맵에 마크를 표시하는 기능의 URL을 변경했는데. 이것이 문제였습니다. 아래와 같이 URL을 변경했는데 변경된 URL에 문제가 있네요. 변경된 URL로 Linking.openURL 할 경우 구글맵이 실행되고 마크가 표시되는데 이것이 심사 반려된 이유였습니다. [기존 URL] http://maps.google.com/maps?&z=15&q=35.1560856,129.055346 [변경 URL] https://www.google.com/maps/search/?api=1&query=35.1560856,129.055346 상세한 관련 포스트는 아래의 참고하세요. https://docko.t.. 2021. 2. 26.
React-Native iOS 앱 구글맵 링크 React-Native로 iOS앱에서 구글맵으로 링크를 통해서 웨브라우저를 열어서 표시하고 있는데, 지도의 도로 건물 등이 표시되지 않는 형상이 발생했습니다. 비정상 구글맵 링크 http://maps.google.com/maps?&z=15&q=35.1560856,129.055346 iOS 화면 아래의 링크로 변경하여 처리하였습니다. ※ 아래의 URL로 Linking.openURL 할경우에 iOS에 구글 맵이 설치되어 있으면 구글맵이 실행됩니다. 구글맵을 실행하면, 앱 심사 시 Reject 당하므로 Apple의 맵 링크로 사용해야 하네요. ㅠㅠ https://www.google.com/maps/search/?api=1&query=35.1560856,129.055346 2021. 2. 25.
React-Native iOS 애드몹(Admob) 적용 React-Native에서 iOS 애드몹 적용 순서입니다. 화면(Screen)의 View에 적용은 생략합니다. 1. Module 설치 npm i --save react-native-admob@next - 자세한 내용은 아래의 사이트를 참고하세요. https://github.com/sbugert/react-native-admob sbugert/react-native-admob A react-native component for Google AdMob banners. Contribute to sbugert/react-native-admob development by creating an account on GitHub. github.com 2. Info.plist에 Admob 앱ID를 입력 (Info.pli.. 2020. 7. 21.
정상적인 React-Native 프로젝트 iOS 컴파일 시 오류 해결 방법 iOS 컴파일이 잘되던 React-Native 프로젝트가 오류가 발생하는 경우가 종종 발생합니다. 이럴 경우 Pod의 캐쉬를 초기화(Clear) 후 다시 컴파일 하면 정상적으로 컴파일이 됩니다. 아래의 오류와 동일 하지 않을 수 있습니다. events.js:287 throw er; // Unhandled 'error' event ^ Error: EMFILE: too many open files, watch at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:127:28) Emitted 'error' event on NodeWatcher instance at: at NodeWatcher.checkedEmitError (/Users/dokonjan.. 2020. 6. 19.
React-Native : 오류 : error: Build input file cannot be found: '.../node_modules/react-native/Libraries/WebSocket/libfishhook.a' 아래와 같은 React-Native 오류 해결 방법입니다.error: Build input file cannot be found: '/node_modules/react-native/Libraries/WebSocket/libfishhook.a' 라이브러리 RCTWebSocket.xcodeproj의 libfishhook.a 라이브러리 링크를 다시 링크하면 됩니다.아래의 이미지를 참고하세요. 2019. 6. 6.
React-Native 오류 : RCTUtils.m normal x86_64 & RCTModuleMethod.mm normal x86_64 React-Native iOS 컴파일 시 아래와 같은 오류가 발생했습니다. 예전에 정상적으로 컴파일 및 실행이 되던 소스인데 오류가 발생하네요. ** BUILD FAILED ** The following commands produced analyzer issues: Analyze /Users/dokonjang/ReactNative/BusanBus/node_modules/react-native/React/Base/RCTUtils.m normal x86_64 Analyze /Users/dokonjang/ReactNative/BusanBus/node_modules/react-native/React/Base/RCTModuleMethod.mm normal x86_64 (2 commands with analyzer.. 2019. 6. 6.
리액트네이티브(React-Native)에 애드몹 모듈을 설치하고, 컴파일 시 오류 해결법 리액트네이티브(React-Native)에 애드몹 모듈을 설치하고, 안드로이드로 컴파일 시 아래와 같은 오류가 발생합니다.해결 방법은 리액트네이티브 프로젝트 폴더 > android > build.gradle 파일을 수정해서 처리 했습니다. [오류]* What went wrong:A problem occurred configuring project ':app'.> Could not resolve all dependencies for configuration ':app:_debugApk'. > A problem occurred configuring project ':react-native-admob'. > Could not resolve all dependencies for configuration ':rea.. 2018. 11. 23.
React Native Error : Could not delete path 리액트 네이브트 안드로이드 개발 시 안드로이드 스튜디오에서 빌드 후 아래와 같은 오류가 발생하는 경우가 있습니다. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugResources'. > java.io.IOException: Could not delete path 'D:\ReactNativeProject\android\app\build\generated\source\r\debug\com\facebook\drawee\backends'. 해결 방법은 안드로이드 스튜디오에서 Clear Project를 수행 후 리액트 네이트브에서 빌드를 수행하면 됩니다. 안드로이드 스튜디오에.. 2018. 10. 13.
React-Native 화면(Screen)간 이동하기 react-native version : 0.55.4 React-Native에서 Screen간 이동을 하려면 react-native-navigation 모듈이 필요합니다. 그리고 기본적으로 사용하는 Navigator는 아래와 같습니다. (1) StackNavigator : Screen, TabNavigator간 이동을 하기 위해 사용. (2) TabNavigator : 여러 Screen을 하나의 Tab으로 구성하기 위해 사용. 아래의 명령으로 react-native-navigation 모듈을 프로젝트에 설치 후 사용하면 됩니다. npm install --save react-navigation StackNavigator 예제 // App.js import {StackNavigator} from 'react.. 2018. 8. 30.
React-Native 프로젝트 생성 오류 React-Native로 프로젝트 생성 시 아래와 유사한 오류가 발생하는 경우가 있다. 이 경우 React-Native의 버전에 따라 발생한다. React-Native는 아직 정식 버전이 배포되지 않아 해당 오류가 빈번히 발생 할 것으로 생각됩니다. import type {CommandT} from './commands'; ^^^^ SyntaxError: Unexpected identifier at new Script (vm.js:74:7) at createScript (vm.js:246:10) at Object.runInThisContext (vm.js:298:10) at Module._compile (internal/modules/cjs/loader.js:657:28) at Module._compil.. 2018. 7. 10.
React-Native 설치하기. 안드로이드, 아이폰, 윈도우즈폰을 개발하기에 최적인 React-Native를 설치하는 방법입니다. 1. Node.js 설치 - 아래의 URL에서 Node.js를 다운로드하여 설치합니다. https://www.nodejs.org 2. React-Native Client 설치 - 명령프롬프트에서 아래의 명령을 실행하면 React-Native Client가 설치됩니다 npm install -g react-native-cli [macOS]sudo npm install -g react-native-cli 이제 React-Native 설치가 완료되었습니다. React-Native 프로젝트 생성은 아래의 링크를 참고하세요.http://docko.tistory.com/entry/ReactNative-%ED%94%84%.. 2018. 6. 22.
[React-Native] iPhone 장비로 앱 실행하기. React-Native로 개발한 앱을 iPhone 장비에 실행하는 방법입니다.maxOS에서 시뮬레이터로 테스트한 앱을 실직적으로 iPhone에 테스트하기 위한 방법입니다 1. ios-deploy 모듈을 설치합니다. - iPhone에 개발한 앱을 설치하려면 ios-deplay 모듈을 설치 해야 합니다. npm install -g ios-deploy 2. iPhone 장비에 앱을 실행하려면, iTunes에 표시된 장비의 이름이 필요합니다. 3. React-Native로 개발한 앱을 iPhone에 설치 및 실행합니다. - 아래의 명령 실행하면 iPhone에 앱을 설치되고, 앱일 실행됩니다. - USB로 연결된 iPhone이 하나인 경우 --devices 장비명에서 장비명을 생략해도 됩니다. react-nati.. 2018. 6. 21.
React-Native 프로젝트 생성 React-Native 프로젝트 생성를 생성하고, 안드로이드 에뮬레이터로 실행하는 과정을 소개하겠습니다.단, React-Native 및 React-Native Client가 설치되어있어야 합니다. [개발환경] (1) 운영체제 : Windows 7 (2) 모바일 운영체제 : Android 1. React-Native 프로젝트 생성하기 - ProjectName은 생성하고자 하는 프로젝트명입니다. - 아래의 명령을 실행하면, 해당 폴더하위에 ProjectName으로 폴더가 생성됩니다. - version 옵션을 지정하지 않으면, '0.56.0' 버전이 설치되는데 프로젝트 생성 시 오류가 발생한다. react-native init --version="0.55.4" ProjectName 2. React-Native.. 2018. 6. 20.