Cordova 하이브리드 앱 제작시 발생되는 Content Security Policy(CSP)오류를 해결하는 방법을 알아보겠습니다. 글쓴이인 경우 개발 과정에서는 문제가 없었으나, 구글 플레이스토어에 출시를 위해 업로드 후 검토를 진행하는 과정에서 오류가 발생되어 해결했습니다. 먼저 오류의 로그를 확인해보겠습니다. FATAL EXCEPTION: Thread-3 Process: com.itnbasic.allexschool, PID: 24532 java.lang.RuntimeException: java.lang.RuntimeException: Error in evaluationEvaluation: status: 13 value: {message=Refused to evaluate a string as Ja..
이 글의 작성 기준은 ERB환경이지만, 아마도 Electron에도 해당되지 않을까 합니다. Module not found: Error: Can't resolve 'fs' in ...와 같이 Native Module을 사용했을 때 발생된 오류에 대한 해결 방법입니다. ERB 사용은 아래 글을 참고하세요. https://bundw.tistory.com/78 Electron(일렉트론) React(리액트) ERB로 데스크톱 앱 만들기 https://www.electronjs.org/ Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. Build cross-platform desktop apps with JavaScript, H..
Electron은 메인 프로세스와 렌더 프로세스가 존재합니다. 각 프로세스는 독립적이기 때문에 서로간 직접 접근할 수 없고 통신이라는 간접적 방법으로 접근해야 합니다. 통신에는 IPC(inter-process)와 remote 두 가지의 방식이 있는데, IPC는 메세지로 통신하지만, remote는 이를 추상화하여 더 쉽게 접근과 사용을 가능하게 합니다. @electron/remote is a replacement for the built-in remote module in Electron, which is deprecated and will eventually be removed. 그리고 remote 모듈은 Electron에 기본으로 포함된 기능이였으나 곧 제거가 될거라고 합니다(글 작성 기준으로 Elec..
Electron React Boilerplate(ERB)에서 TailwindCSS를 적용하는 방법을 알아보겠습니다. ERB를 시작하는 방법은 아래 글을 참고하세요. https://bundw.tistory.com/78 Electron(일렉트론) React(리액트) ERB로 데스크톱 앱 만들기 https://www.electronjs.org/ Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. Build cross-platform desktop apps with JavaScript, HTML, and CSS. www.electronjs.org 웹 프로.. bundw.tistory.com 구글링으로 ERB+TailwindCS..
https://www.electronjs.org/ Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. Build cross-platform desktop apps with JavaScript, HTML, and CSS. www.electronjs.org 웹 프로그래밍 기술을 사용하여 앱을 개발하기 좋은 시대가 되었습니다. 글쓴이는 C++ 프로그래머이지만, 웹 개발 환경이 너무 편리해서 전문 분야 외에서는 웹 기반 기술을 주로 사용하는 것 같습니다. 소개하려는 Electron도 Node.js, Javascript, HTML, CSS/SCSS, ... 등 대부분 웹에서 널리 쓰이는 기술들을 기반으로 멀티플랫폼(윈도우,리눅스..
async function 내에서 순차적으로 처리하면서 sleep이 필요할 때, 정의와 사용법입니다. 함수(메소드) 정의 async function sleep(ms: number) { return new Promise(resolve => setTimeout(resolve, ms)); } 사용 async function myfunc() { ... await sleep(1000); // 1000은 1초 }
https://bundw.tistory.com/17 도커(Docker) docker-compose로 Nginx+Letsencrypt SSL 생성 (certbot) 도커 docker-compose로 Nginx를 활용하여 Letsencrypt에서 무료 SSL인증서를 받아보겠습니다. 해당 인증서는 유효기간이 3개월로 짧은 편이므로 기간에 맞춰 갱신을 하거나 자동화를 활용하여 기간이 지 bundw.tistory.com 위 글에서 사용된 certbot과 같은 일회성 컨테이너를 실행할 때, 실행이 완료되면 정상 종료되었는지 확인하고 Ctrl+C 등으로 빠져나와야 합니다. 그런데 약간 신경을 써줘야하기 때문에 조금 귀찮아집니다. 그래서 아래 명령어로 간단하게 값을 추가하여 컨테이너가 실행 종료되면 자동으로 빠져나올 ..
Cordova의 iOS에서 cordova-plugin-fcm-with-dependecy-updated Plugin의 CocoaPods 오류가 발생했을 때, 문제를 해결해보겠습니다. (다른 Plugin에서도 같은 오류가 발생된다면 해결 가능할 것으로 예상됩니다.) 이 글에서는 CocoaPods를 gem대신 brew로 설치하는 방법을 안내합니다. macOS(맥)에서 테스트되었습니다. 먼저 오류 상황입니다. $ cordova platform add ios ... Installing "cordova-plugin-fcm-with-dependecy-updated" for ios Failed to install 'cordova-plugin-fcm-with-dependecy-updated': CordovaError: ..