<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>오준석</title>
  <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS" />
  <author>
    <name>hopeless</name>
  </author>
  <subtitle>교육하고 책 쓰는 개발자입니다. '플러터 생존코딩', '오준석의 안드로이드 생존코딩: 코틀린편', '될 때까지 안드로이드'를 집필하였고, 개발 및 강의를 하고 있습니다.</subtitle>
  <id>https://brunch.co.kr/@@2iiS</id>
  <updated>2016-08-14T01:58:44Z</updated>
  <entry>
    <title>Mac에 openjdk 설치</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/60" />
    <id>https://brunch.co.kr/@@2iiS/60</id>
    <updated>2020-05-05T14:23:01Z</updated>
    <published>2020-05-05T11:34:30Z</published>
    <summary type="html">예전에 Mac에 설치된 자바를 삭제하고 openjdk 설치하는 것을 기록한 적이 있는데 너무 복잡하다. 이제부터 Homebrew와 AdoptOpenJdk를 사용하는 것으로 한다.  기존 자바 삭제 /사용자/junsuk/라이브러리/Java/JavaVirtualMachines 아래에 있는 것 제거  AdoptOpenJdk 에서 원하는 버전 설치 https://</summary>
  </entry>
  <entry>
    <title>Flutter로 iOS 앱을 업데이트후&amp;nbsp;계정조사 건</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/59" />
    <id>https://brunch.co.kr/@@2iiS/59</id>
    <updated>2020-04-17T06:50:02Z</updated>
    <published>2020-03-17T14:15:38Z</published>
    <summary type="html">현상 기존 iOS 네이티브 앱을 Flutter로 포팅하여 업데이트 후 다음과 같은 사유로 reject 되고 계정 조사를 한다고 함.  Hello,We are unable to continue this app&amp;rsquo;s review because your Apple Developer Program account is currently under investigati</summary>
  </entry>
  <entry>
    <title>Flutter에서 카메라 다룰 때 LG폰 이슈</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/58" />
    <id>https://brunch.co.kr/@@2iiS/58</id>
    <updated>2021-07-09T08:50:58Z</updated>
    <published>2020-03-14T14:08:14Z</published>
    <summary type="html">플러터로 외주 하면서 삽질한 것 기록  요구사항 1. 사진을 찍되 앱 내에서만 보여야 함. 갤러리 앱에서 보이면 안 됨  해야할 일 1. 내부 저장소에 저장하면 됨  한 일 1. image_picker 라이브러리가 flutter 팀에서 관리하고 있는 공식 라이브러리라서 선택 함 https://pub.dev/packages/image_picker 이 라이브러</summary>
  </entry>
  <entry>
    <title>플러터 책 출간</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/57" />
    <id>https://brunch.co.kr/@@2iiS/57</id>
    <updated>2020-06-02T07:54:36Z</updated>
    <published>2020-02-26T12:22:40Z</published>
    <summary type="html">플러터 책이 출간되었습니다. 개발자 분들이야 문서 보면 되지만 초보자 분들은 한국어 책이 좋지요. 제것 포함 두 권이 한 번에 나왔어요.  안 산 사람은 있어도 한 권만 산 사람은 없다는 플러터 쌍두마차  http://www.yes24.com/Product/Goods/87664198 http://www.yes24.com/Product/Goods/876643</summary>
  </entry>
  <entry>
    <title>CloudFlare, 도메인 소유권 인증</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/56" />
    <id>https://brunch.co.kr/@@2iiS/56</id>
    <updated>2020-02-25T10:20:14Z</updated>
    <published>2020-02-24T08:28:50Z</published>
    <summary type="html">몇 달 동안 소유권 인증을 못 하다가 오늘 함  결론 : CloudFlare 설정을 했을 경우 DNS 설정도 CloudFlare 쪽에 해야 됨.  현상 : 도메인을 구글 도메인에서 관리하고 해당 도메인을 CloudFlare를 연결하여 서비스를 관리 중인데 해당 도메인 소유권 확인을 위해 DNS에 TXT나 CNAME을 입력하는데 구글 도메인 쪽에 넣었더니 계</summary>
  </entry>
  <entry>
    <title>Firebase Functions CORS 대응&amp;nbsp;</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/55" />
    <id>https://brunch.co.kr/@@2iiS/55</id>
    <updated>2020-02-24T08:12:39Z</updated>
    <published>2020-02-24T08:12:39Z</published>
    <summary type="html">약 하루 꼬박 삽질함.  현상 : 웹사이트에서 Functions을 호출할 때 CORS 에러가 나면서 연결이 안 됨  CORS -&amp;nbsp;https://developer.mozilla.org/ko/docs/Web/HTTP/CORS  결론 : Firebase Hosting을 사용중이고 Functions을 us-central1 리젼으로 사용할 때는 간단히 해결 가능</summary>
  </entry>
  <entry>
    <title>ios13 백그라운드 푸시 변경사항</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/54" />
    <id>https://brunch.co.kr/@@2iiS/54</id>
    <updated>2020-06-11T01:03:56Z</updated>
    <published>2020-02-24T08:04:09Z</published>
    <summary type="html">iOS13부터 백그라운드 푸시를 받기 위해 약 2일 정도 삽질함.  결론 : payload 에&amp;nbsp;aps - content-available : 1,&amp;nbsp;headers 에 apns-push-type: &amp;quot;background&amp;quot;,&amp;nbsp;apns-priority: &amp;quot;5&amp;quot; 를 함께 설정해서 푸시를 쏴야 ios13 이후 버전에서 백그라운드 푸시를 정상적으로 받을 수 있음  htt</summary>
  </entry>
  <entry>
    <title>Android10에서 Preference 변경</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/53" />
    <id>https://brunch.co.kr/@@2iiS/53</id>
    <updated>2020-02-24T08:14:06Z</updated>
    <published>2020-02-13T02:52:05Z</published>
    <summary type="html">Android10 프레임워크에서 Preference는 deprecated 되었고  AndroidX의 Preference Library(https://developer.android.com/reference/androidx/preference/package-summary)를 사용해야 함</summary>
  </entry>
  <entry>
    <title>Android Studio에서 Gradle 싱크 에러</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/52" />
    <id>https://brunch.co.kr/@@2iiS/52</id>
    <updated>2019-08-03T13:56:47Z</updated>
    <published>2019-08-03T02:19:30Z</published>
    <summary type="html">re-download dependencies and sync project (requires network)  프로젝트 처음 시작시 gradle을 다운로드 하던 중 인터넷이 끊기면 위와 같은 메시지가 표시되면서 아무것도 되지 않는다.  .gradle/wrapper/dists 폴더에 보면 다운 받아진 gradle 들이 있다. 다 지우고 안드로이드 스튜디오에서</summary>
  </entry>
  <entry>
    <title>Firebase Auth UI로 구글인증 에러해결 - Android</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/51" />
    <id>https://brunch.co.kr/@@2iiS/51</id>
    <updated>2021-05-14T05:49:34Z</updated>
    <published>2019-04-02T04:40:43Z</published>
    <summary type="html">상황  안드로이드 개발시 Firebase Auth UI로 구글 인증을 할 때 다음과 같은 에러가 나면서 진행이 되지 않는다.  Caused by: java.lang.IllegalStateException: Check your google-services plugin configuration, the default_web_client_id string was</summary>
  </entry>
  <entry>
    <title>[안드로이드] 배포한 앱 삭제되었을 때 조치 방법</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/50" />
    <id>https://brunch.co.kr/@@2iiS/50</id>
    <updated>2019-02-09T02:44:35Z</updated>
    <published>2019-02-09T02:27:24Z</published>
    <summary type="html">(2019년 2월 9일 현재) 요즘 구글에서 일을 열심히 하면서 제가 올린 앱들이 마구 삭제되고 있습니다.아마 앱을 올리신 분들 모두 겪고 계실듯하여 요 며칠 제가 겪은 앱 삭제 사례와 대응 방법을 알려드립니다.  1. 귀하의 앱은 Android 광고 ID 사용 및 개발자 배포 계약의 4.8 조항을 위반하였습니다.  앱에서 광고를 사용하거나 Firebase</summary>
  </entry>
  <entry>
    <title>keytool 문자 깨짐 현상 해결</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/49" />
    <id>https://brunch.co.kr/@@2iiS/49</id>
    <updated>2019-02-04T13:20:24Z</updated>
    <published>2019-02-04T11:11:42Z</published>
    <summary type="html">keytool 명령어를 사용하던 중 한 때는 잘 되었는데 지금은 잘 안 되어 해결 방법을 포스팅 한다.  keytool을 사용하여 sha1 지문을 얻거나 해야 할 경우가 있다. 예를 들어 안드로이드 개발시에도 종종 필요한데 문서에서 가이드 하는 대로 다음 명령을 수행했다. keytool -exportcert -list -v -alias androiddebu&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2iiS%2Fimage%2F_5XmviYKI098aMyMUzQdi7ZkTEs.png" width="500" /&gt;</summary>
  </entry>
  <entry>
    <title>[iOS] 제약을 활용한 애니메이션</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/48" />
    <id>https://brunch.co.kr/@@2iiS/48</id>
    <updated>2019-01-09T00:38:07Z</updated>
    <published>2019-01-09T00:38:07Z</published>
    <summary type="html">안드로이드 개발자로서 iOS 개발을 하며 무수한 삽질을 했다.무수한 삽질에 대해서는 각자 StackOverflow의 무수한 답들을 보면서 접하시고 이 포스트에서는 답만 정리하겠다.  그 중에 특 정 뷰를 상태에 따라 애니메이션하여 나타나게 하고 숨기는 것의 삽질 끝에 최종 버전이다.본인이 기억할 수 있도록 이번에도 기록을 남긴다.  구글 지도에서 마커를 클&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2iiS%2Fimage%2FaNgoXqQAz7fuIwRx2-EoIY5AQE0.png" width="500" /&gt;</summary>
  </entry>
  <entry>
    <title>[iOS] UITableView 리로드시 스크롤 위치</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/47" />
    <id>https://brunch.co.kr/@@2iiS/47</id>
    <updated>2020-03-09T08:57:54Z</updated>
    <published>2019-01-07T09:29:22Z</published>
    <summary type="html">UITableView의 아이템들의 높이가 다를 때 reloadData하면 스크롤 위치가 엉뚱한 곳으로 점프한다.  검색 해 보면 스크롤 위치를 저장, 복원하는 별의별 방법이 있는데 다 필요없고이럴 때는 미리 계산된 셀들의 높이를 저장해 두고 복원하는 방법이 가장 간단한 듯 하다.  엄청난 삽질을 했기 때문에 기록 해 둔다.  var cellHeightsDi</summary>
  </entry>
  <entry>
    <title>[iOS] 키보드가 나타나면 TextField 이동</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/46" />
    <id>https://brunch.co.kr/@@2iiS/46</id>
    <updated>2019-01-07T00:36:31Z</updated>
    <published>2019-01-07T00:36:31Z</published>
    <summary type="html">iOS 개발하며 프레임워크의 완성도가 안드로이드에 비해 좋다고 느끼고 있다. 단 하나만 빼고.  안드로이드의 EditText에 해당하는 입력 필드인 TextField에 입력할 때 키보드가 올라오면서 레이아웃을 덮어버린다.  그래서 화면 하단에 입력창이 있을 때 내가 뭘 쓰는지 보이지 않는다. 게다가 입력창 옆에 버튼이라도 있으면 누를 수가 없다. 엔터키 동</summary>
  </entry>
  <entry>
    <title>[Mac] 블루투스 사용 가능하지 않음 해결</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/45" />
    <id>https://brunch.co.kr/@@2iiS/45</id>
    <updated>2019-01-06T06:06:05Z</updated>
    <published>2019-01-06T01:32:10Z</published>
    <summary type="html">맥북을 2013년 부터 사용하고 있는데 최근 들어 잠자기에서 깨어날 때 블루투스 사용 가능하지 않음 상태가 되었다. 그럼 마우스 연결이 안 되서 또&amp;nbsp;재부팅을 해야 멀쩡해 진다. 맥북의 장점인 잠자기를 전혀 활용할 수 없는 지경에 빠졌다.  이것을 해결하기 위해 한 달 넘게 삽질과 시도를 한 것 같다.  인터넷을 뒤져 보면 몇 가지 해결책을 제시한다. 1.</summary>
  </entry>
  <entry>
    <title>2018년 회고</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/44" />
    <id>https://brunch.co.kr/@@2iiS/44</id>
    <updated>2018-12-29T12:27:27Z</updated>
    <published>2018-12-29T12:27:27Z</published>
    <summary type="html">2018년은 강의 없는 휴식기로 엄청 쉴 줄 알았는데 거의 쉬지 못 한 것 같다. 진행중인 프로젝트 마무리가 안 되서 1월 초까지 코딩해야 될 팔자. 올 해는 이런저런 일이 많았기에 나중에 볼 수 있도록 기록.  한 일 - 안드로이드 책 2권 집필 (될 때까지 안드로이드, 안드로이드 생존코딩) - 세종도서 선정 (될 때까지 안드로이드) - 알리미프로 서비스</summary>
  </entry>
  <entry>
    <title>유튜브 구독자 1000돌파!</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/43" />
    <id>https://brunch.co.kr/@@2iiS/43</id>
    <updated>2018-12-11T02:05:51Z</updated>
    <published>2018-11-23T00:58:27Z</published>
    <summary type="html">유튜브를 재미로 운영하고 있습니다. 영상도 진짜 가끔씩 올리지만 양 보다 질이지요.  어쨌든 얼마전에 유튜브 구독자 1000을 돌파하게 되었습니다. 학원 운영할 때 강의하면서 영상 찍어둔 것을 학원 때려치고 일부 공개하면서 뭔가 찍어서 올리기 시작한 지는 얼마 되지 않습니다만, 많은 분들이 봐 주시고 계시네요.  브런치 구독자 분들 중 특히 안드로이드 쪽으</summary>
  </entry>
  <entry>
    <title>Android, iOS 비교표 - 안드로이드 개발자가 정리하는</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/42" />
    <id>https://brunch.co.kr/@@2iiS/42</id>
    <updated>2019-05-19T11:51:24Z</updated>
    <published>2018-11-23T00:35:21Z</published>
    <summary type="html">안드로이드 개발자가 iOS 개발하며 정리하게 된 비교표계속 업데이트 됨 (11.23 현재)  윽... 브런치는 표 넣기가 어려워서 다른 곳에 정리한 것 링크로 대체합니다.;;; https://velog.io/@jsoh/Android-iOS-%EC%9A%A9%EC%96%B4-%EB%B9%84%EA%B5%90%ED%91%9C</summary>
  </entry>
  <entry>
    <title>Angular 7로 업데이트 후 빌드 실패 해결 방법</title>
    <link rel="alternate" type="text/html" href="https://brunch.co.kr/@@2iiS/41" />
    <id>https://brunch.co.kr/@@2iiS/41</id>
    <updated>2018-11-07T07:33:49Z</updated>
    <published>2018-11-07T07:33:49Z</published>
    <summary type="html">Angular 6 프로젝트를 Angular 7로 업데이트 후에 모든 의존성 모듈도 최신 버전으로 올리니 빌드 실패!! 를 해결하기 위해 1시간 정도 삽질. 일단 앵귤러 뿐만 아니라 node.js 관련 모듈을 사용할 때 공통적으로 적용될 듯 하다.  시도 1 빌드가 안 되니 급한 마음에 다시 앵귤러6 때로 하드 reset =&amp;gt; 빌드 실패! ???  시도 2</summary>
  </entry>
</feed>
