본문 바로가기

React-Native29

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 WebView 컴파일 오류 해결 방법 [개발 환경] OS : Windows 10 React-Native : 0.62.2 React-Native-Webview : 10.3.1 React-Native에 웹뷰(WebView)를 적용하려니 아래와 같은 오류가 발생합니다 [오류] > Task :react-native-webview:compileDebugKotlin Could not connect to kotlin daemon. Using fallback strategy. > Task :react-native-webview:compileDebugJavaWithJavac FAILED 해결 방법은 React-Native 프로젝트의 Android 프로젝트의 컴파일 툴 및 버젼을 아래와 같이 수정 후 컴파일하면 해결됩니다. [해결 방법] React-Nativ.. 2020. 6. 22.
정상적인 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(리액트 네이티브) : 안드로이드 버들링 react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res 2019. 7. 14.
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.
macOS VMWare에 윈도우즈 폴더 공유하기 VMWare에 macOS를 설치하고 윈도우즈의 폴더를 공유하는 방법입니다. VMWare의 설정은 어렵지 않았지만, macOS를 잘 사용 할 줄 올라서 공유폴더를 한참 찾았습니다. 저 같이 고생하지 마시고 쉽게 공유폴더 찾아요~~ 1. VMWare 설정 (1) VMWare에서 가상 OS를 선택하고, Edit virtual machine settings를 클릭합니다. (2) Virtual Machine Settings화면에서 Options 탭을 클릭합니다. (3) Options 의 Shared Folders를 선택, Always enabled 선택, Add 버튼을 클릭하여 공유 할 폴더를 선택합니다. 2. macOS (1) Finder 메뉴에서 환경설정을 클릭합니다. (2) Finder 환경설정에서 연결된 .. 2019. 5. 27.
리액트네이티브(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 안드로이드 Package 명 수정하기 React-Native 안드로이드 Package 명 수정하는 방법입니다.아래의 수정파일 목록을 수정 후 앱을 실행하면 됩니다. [수정파일 목록]1. /ProjectFolder/android/app/build.gradle2. /ProjectFolder/android/app/src/main/AndroidManifest.xml 3. /ProjectFolder/android/app/src/main/com/projectname/MainActivity.java 4. /ProjectFolder/android/app/src/main/com/projectname/MainApplication.java 2018. 10. 12.
iOS 앱이름 다국어 처리하기. iOS 앱 이름을 다국어 처리하는 방법입니다. 1. xCode의 메뉴에서 File > New > File....를 클릭합니다. 2. 새로운 파일 생성 화면에서 String Files를 선택 하고 Next를 클릭합니다. 3. xCode 프로젝트의 Base.Iproj 폴더 내로 파일의 위치를 지정합니다. 4. 파일 이름은 InfoPlist.strings 로 지정하고, Create 버튼을 클릭합니다. 5. InfoPlist.strings의 파일에 아래의 내용으로 수정합니다. CFBundleDisplayName 는 앱이름입니다. "CFBundleDisplayName" = "Typhoon Paths"; 참고로 Base.Iproj 폴더는 기본언어 설정입니다. 즉, 다국어에 한국어만 추가했다면, 일본어에서는 Base.. 2018. 8. 31.