본문 바로가기

개발 코딩 정보 공유

알면 알수록 헷갈리는 IOS 환경 #2 - 앱 배포방식에 대해서 알아보자. 안녕하세요. 김과자입니다. 알면알수록 ... 시리즈 두번째 순서입니다. 잘 모르신다면 아래를... 2020/08/29 - [HELLO_WORLD/애플_IOS] - 알면 알수록 헷갈리는 IOS 환경 #1 - 인증서와 프로비저닝(코드서명) ios 개발을 하면서 맨날 해도 헷갈리는 그것! 몇가지? 다양한 배포 방법에 대해서 알아보겠습니다. 거짓말 조금 보태서 인증서와 사이닝, 그리고 배포까지 이해하면 ios 개발 반은 먹고 들어가는거죠. 테스트를 위한 배포 방법에는 4가지 정도의 플랜이 있습니다. 개발용 테스트 애드혹 (adhoc) 테스트플라이트 엔터프라이즈 이와 같은 배포 방식을 왜 알아야하는가? 하는 의문이 들수 있습니다. 단편적인 예를 들어보겠습니다. 사내에서 개발을 하는데 소스작업을 마무리 하고 이제 .. 더보기
알면 알수록 헷갈리는 IOS 환경 1 - 인증서와 프로비저닝(코드서명) 안녕하세요. 김과자입니다. 그동안 안드로이드에 대한 글만 쓴것 같아서 IOS도 지식공유를 해보려합니다. IOS 개발을 시작할때 뭐부터 공부하시나요? 스위프트? Xcode 사용법? 물론 당연히 중요합니다. 그러나 실제 현장에서 문제가 되는 골치거리는 따로 있죠. 그중에서 오늘은 인증서와 프로비저닝 프로파일에 대해서 정리해보려 합니다. 초기와 달리 XCODE 가 좋아지고 ! 개발 환경이 업데이트 되면서 지금은 XCODE 자체의 자동인증 방식을 통해 알아서 인증서와 프로비저닝 프로파일을 셋팅합니다. 아주 세상 편해졌죠. "그럼 뭐가 문제라는 말인가요?" 안타깝게도 우리가 작업할 현장은 우리가 원하는 대로 할수있는 정상적인? 환경이 아닙니다. 외부로 연결되는 인터넷이 안 되는 경우도 많고, 계정을 안 주는 경우.. 더보기
flutter (플러터) 배우기 - 개념과 기초구현 안녕하세요. 김과자입니다. 최근 핫한 개발 프레임워크 이죠. 플러터(플루터) 를 알아봅시다. 플러터는 구글이 개발한 오픈 소스 모바일 애플리케이션 개발 프레임워크 입니다. 안드로이드, iOS용 애플리케이션 개발을 위해 세상에 나오게되었습니다. 사실 전에도 크로스플랫폼 개발을 위한 프레임워크들이 있었죠. 예를 들어 phonegap, cordova, ionic, react native...등등 이들의 목표 자체는 아마도 이것이겠죠? 한가지 방법 한번의 구현으로 여러가지 플랫폼을 일타쌍피!!신공 아... 생각만해도 너무 좋지만. 그에따른 이슈도 너무 많습니다. 그럼 어찌어찌 개발을 했다고 해서 native 를 몰라도 되는가? 그것도 아니란 말이죠. 결국엔 네이티브 작업을 좀 해줘야하죠. 정도의 차이일뿐. 어찌.. 더보기
웹뷰뿌시기 (webview) 파일업로드(사진업로드) 안녕하세요. 김과자 입니다. 오늘은 1편에 이어서 예정대로 웹뷰 뿌시기 2편 웹뷰계의 최강 빌런 !!! 파일업로드...에 대해서 알아보겠습니다. 웹뷰에서 파일업로드를 처리하기 위해서는 웹 소스에서 html5를 이용해서 form 태그에서 input type 을 file 로 지정하기만 하면 그 뒤는 식은죽 먹................ "여러분. 안드로이드 개발에 그런일은 없습니다." “의심하지 마세요. 모든것이 수동입니다.” … 그리하여 웹뷰에서 파일업로드를 처리하기위해서는 약 3가지 OS 버전에 대해 고려해야합니다. 왜냐구요? 버전별로 구현방식이 다릅니다. "네???" 하하하하ㅏㅎㅎㅎ하ㅏㅎ하ㅏ하ㅏ하... 웹뷰 뿌시기 2편 - 파일업로드(혹은 사진업로드) 시작해보겠습니다. 안드로이드 웹뷰상에서 파일(사진.. 더보기
웹뷰뿌시기(webview) 자주 쓰는 10가지 셋팅 안녕하세요. 김과자 입니다. 안드로이드 앱 개발중 웹뷰를 사용하여 개발하는 방식은 이제 아주 흔한 일이 되었죠. 네. 그렇습니다. 우리에게 익숙한 웹을 이용해서. 앱개발하는데 활용한다? 아싸 ! 개꿀!! 기존에 웹이 개발되어 있는걸 그냥 넣기만 하면 끝~?! 얼마나 좋습니까? "그런데 말입니다." 세상이 어디 그리 호락호락 한가요? 구글 새ㄲ... 아 아니 구글 님들이 얼마나 웹뷰를 잘 만들어 놓았느냐. "하핳하하핳ㅎㅎ하하하하핳..." 환영합니다. 지금 부터 여러분은 웹의 모든 동작을 수동으로 컨트롤 하게 될것입니다. 🙀 자. 그럼 이제부터 웹뷰 관련 셋팅을 연재해보겠습니다. - 자주 사용하는 것들 10가지 셋팅법 - 최강의 빌런. 파일업로드 문제!!! - 이건 진짜 심각한 ... window.open .. 더보기
안드로이드 'ShouldOverrideUrlLoading' 너는 누구냐? 안녕하세요. 오늘은 안드로이드 개발중 웹뷰를 사용하여 개발할때 반드시 알아두어야 할 녀석이죠. 'ShouldOverrideUrlLoading' 바로 이놈입니다. 웹뷰 사용시 이부분을 거치지 않으면 빈깡통 같은 웹뷰가 될것입니다. 따라서 여기서 특정한 동작을 컨트롤 하면 되는데요. 이녀석은 보통 아래와 같이 사용합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * WebViewClient */ private inner class WebClient : WebViewClient() { override shouldOverrideUrlLoading(view:WebView , url:String) { //... return true } } 그런데 이 'shouldOverri.. 더보기
코틀린사용 - 자바static, 객체식, 객체선언, 컴패니언 코틀린에서 편리한 몇가지 사용 방법 객체 선언 코틀린을 사용하다 보면 자바에서 사용하던 부분을 비슷하게 처리하려면 어떻게 해야하지? 하는 부분이 생깁니다. 자바에서 싱글턴 패턴의 구현 그리고 익명클래스 등을 살펴 보겠습니다. public class SingleTest { private static SingleTest instance; private SingleTest(){ } public synchronized static SingleTest getInstance(){ if(instance != null){ instance = new SingleTest(); } return instance; } } 자바에서 싱글턴 구현은 보통 이런식이죠? 너무 장황하며, 복잡합니다. 코틀린에서는 object 키워드를 사.. 더보기
안드로이드 쓰레드 실체 파악하기 안드로이드 쓰레드 실체 파악 쓰레드 너란 녀석 오늘은 자바내의 쓰레드 기본적인 사용법과 디테일하게 실체를 파악해 보겠습니다. 사실 안드로이드개발에서 쓰레드의 실체는 리눅스의 그것 과 일치합니다. 아래의 이미지를 확인해보면 이유를 알수 있습니다. 계층 구조를 보시죠. 앱개발단 자체는 리눅스 커널을 베이스로 하고 있습니다. 때문에 앱 단의 쓰레드 또한 네이티브 pthread 를 기반합니다. 안드로이드는 pthread와 다르게 표현하려고 특별한 속성을 부여합니다. 1.UI 쓰레드 UI쓰레드는 응용프로그램의 시작과 끝을 같이 합니다. 화면에 구성요소를 실행/변경하고 이를 메인쓰레드 라고도 합니다. UI요소에 타 쓰레드가 접근하게 되면 바로 Exception을 보실수 있습니다. 오직 메인쓰레드만이 UI 조작이 가.. 더보기