<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Fury - iOS Developer</title>
    <link>https://developer-fury.tistory.com/</link>
    <description>iOS 개발자 취업 준비생
 - FastCampus 9기 수료
 - 2nd Pathhack 쉬운 해커톤 GDG Busan 트랙상 수상</description>
    <language>ko</language>
    <pubDate>Mon, 29 Jun 2026 12:07:29 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>DeveloperFury</managingEditor>
    <image>
      <title>Fury - iOS Developer</title>
      <url>https://tistory1.daumcdn.net/tistory/3146845/attach/14e73a0dcbdb47149537d78578a1919f</url>
      <link>https://developer-fury.tistory.com</link>
    </image>
    <item>
      <title>[Swift] 배열을 그룹화 하는 방법 - Dictionary(grouping: , by: )</title>
      <link>https://developer-fury.tistory.com/70</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;오랜만에 블로그 글을 남기는 것 같습니다 ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SwiftUI를 공홈에서 공부하다가 Dictionary로 그룹핑 하는 것을 처음 알게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예전에는 For문 돌려가면서 직접 만들었는데...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이걸 왜 이제 알았을까요..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여튼 그래서 정리를 좀 해놓으려고 합니다 ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;DeviceModel이 있고 name과  type으로 구성이 되어 있어요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;89&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqPkjV/btrKzfEi8WL/G6jYDqeLS2VF65IG7cPZy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqPkjV/btrKzfEi8WL/G6jYDqeLS2VF65IG7cPZy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqPkjV/btrKzfEi8WL/G6jYDqeLS2VF65IG7cPZy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqPkjV%2FbtrKzfEi8WL%2FG6jYDqeLS2VF65IG7cPZy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;418&quot; height=&quot;89&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;89&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;json 형태의 샘플 데이터를 출력하면 아래와 같이 나와요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;185&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGahAO/btrKysqgKpb/kSyM9i36nqBIsvod9eOSbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGahAO/btrKysqgKpb/kSyM9i36nqBIsvod9eOSbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGahAO/btrKysqgKpb/kSyM9i36nqBIsvod9eOSbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGahAO%2FbtrKysqgKpb%2FkSyM9i36nqBIsvod9eOSbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;596&quot; height=&quot;185&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;185&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지금부터 저는 DeviceModel의 type을 기준으로 &lt;span style=&quot;color: #000000;&quot;&gt;Dictionary&lt;/span&gt;를 만들어 보려 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;코드는 아주 간단해요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;grouping 할 배열을 grouping 파라미터로 넣어주고,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;by에서 어떤 값을 기준(Key)으로 Value들을 그룹핑 할지 결정합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;566&quot; data-origin-height=&quot;166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdiCzZ/btrKsOoAifm/GaGXuzFf40wiCOfYdYQPtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdiCzZ/btrKsOoAifm/GaGXuzFf40wiCOfYdYQPtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdiCzZ/btrKsOoAifm/GaGXuzFf40wiCOfYdYQPtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdiCzZ%2FbtrKsOoAifm%2FGaGXuzFf40wiCOfYdYQPtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;566&quot; height=&quot;166&quot; data-origin-width=&quot;566&quot; data-origin-height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위 코드에 의하면 type을 기준으로 Dictionary가 생성이 되겠네요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 결과를 보면 아래와 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boeBQ1/btrKuwuwjOn/namb1ZsdJ2wK8ux7wbkB60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boeBQ1/btrKuwuwjOn/namb1ZsdJ2wK8ux7wbkB60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boeBQ1/btrKuwuwjOn/namb1ZsdJ2wK8ux7wbkB60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboeBQ1%2FbtrKuwuwjOn%2Fnamb1ZsdJ2wK8ux7wbkB60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1320&quot; height=&quot;146&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;146&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;MacBook, iPad, iPhone을 Key로 가지는 &lt;span style=&quot;color: #000000;&quot;&gt;Dictionary 형태가 출력 된 것을 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;키가 될 기준을 수정하고 싶다면 by 클로져에서 return 하는 값을 수정해서 반환하는 것도 가능합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그렇게 되면 수정된 값을 기준으로 키가 생성됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞으로 잘 써먹겠습니다! ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>dictionary</category>
      <category>SWIFT</category>
      <category>그룹핑</category>
      <category>그룹화</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/70</guid>
      <comments>https://developer-fury.tistory.com/70#entry70comment</comments>
      <pubDate>Thu, 25 Aug 2022 11:29:04 +0900</pubDate>
    </item>
    <item>
      <title>개인(신용)정보 수집 및 처리방침</title>
      <link>https://developer-fury.tistory.com/69</link>
      <description>&lt;h2&gt;개인(신용)정보 수집 및 처리방침&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;제1조(목적)&lt;/strong&gt;&lt;br&gt;  이용자가 서비스를 이용하면서 제공하는 개인정보를 귀중하게 생각하고 있으며, 이용자가 제공한 개인정보가 통신비밀보호법, 정보통신망 이용촉진 및 정보보호에 관한 법률 등의 관련 법령에 근거하여 적절하게 보호될 수 있도록 최선을 다하고 있습니다.&lt;br&gt; 개인정보보호정책을 통하여 이용자들이 제공하는 개인정보가 어떠한 용도와 방식으로 수집, 이용, 삭제되고 있는지 이용자들에게 알려드립니다.&lt;br&gt; 개인정보보호정책은 법령변경 등으로 인하여 수시로 개정될 수 있습니다.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;제2조(수집하는 개인정보의 항목, 이용목적 및 수집방법)&lt;/strong&gt;&lt;br&gt;  &amp;nbsp;① 수집하는 개인정보 항목&lt;br&gt;  &amp;nbsp;본 서비스는 현재 수집하는 개인정보가 없습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;제3조(개인정보 파기절차 및 방법)&lt;/strong&gt;&lt;br&gt;  &amp;nbsp;① 회사는 이용자의 개인정보 수집 및 이용목적이 달성되거나, 보유 및 이용기간이 경과된 후에는 해당 정보를 지체 없이 파기합니다.&lt;br&gt;  &amp;nbsp;② 종이에 출력된 개인정보는 분쇄기로 분쇄하여 파기합니다.&lt;br&gt;  &amp;nbsp;③ 전자적 파일 형태로 저장된 개인정보는 기록을 재생할 수 없는 기술적 방법을 사용하여 삭제합니다.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;제4조(개인정보보호책임자 및 담당자)&lt;/strong&gt;&lt;br&gt;  &amp;nbsp;① 회사는 이용자가 서비스를 이용하며 발생하는 개인정보보호 관련 민원을 신속히 처리하기 위해 아래와 같이 개인정보보호책임자 및 개인정보보호 담당자를 지정하여 운영하고 있습니다.&lt;br&gt;▶ 개인정보 보호 담당자&lt;br&gt;성명: 조현철&lt;br&gt;메일: &lt;a href=&quot;mailto:furysecu@gmail.com&quot;&gt;furysecu@gmail.com&lt;/a&gt;  &lt;/p&gt;
&lt;p&gt;기타개인정보침해에 대한 신고나 상담이 필요하신 경우에는 아래 기관에 문의하시기 바랍니다.  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;개인정보분쟁조정위원회 (&lt;a href=&quot;http://www.kopico.go.kr&quot;&gt;www.kopico.go.kr&lt;/a&gt; / 1833-6972)  &lt;/li&gt;
&lt;li&gt;개인정보침해신고센터 (privacy.kisa.or.kr / 국번없이 118)  &lt;/li&gt;
&lt;li&gt;대검찰청 사이버범죄수사과 (&lt;a href=&quot;http://www.spo.go.kr&quot;&gt;www.spo.go.kr&lt;/a&gt; / 국번없이 1301)  &lt;/li&gt;
&lt;li&gt;경찰청 사이버안전국 (cyberbureau.police.go.kr / 국번없이 182)  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;제5조(개정 등)&lt;/strong&gt;&lt;br&gt;  &amp;nbsp;- 시행일자 : 2021년 09월 21월&lt;/p&gt;</description>
      <category>정보</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/69</guid>
      <comments>https://developer-fury.tistory.com/69#entry69comment</comments>
      <pubDate>Tue, 21 Sep 2021 20:32:08 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] 카카오 로그인 v2 사용하기!</title>
      <link>https://developer-fury.tistory.com/67</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 :]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;항상 개발 문서를 보면서 느꼈습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;왜!!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Swift 문서가 없냐...ㅠㅠ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;왜!!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;CocoaPod이 없냐..ㅠㅠ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;드디어!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;카카오 로그인이 코코아팟을 통해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모듈을 추가할 수 있게 되었습니다!!! (짝짝짝)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios&quot;&gt;https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1597810909874&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Kakao Developers&quot; data-og-description=&quot;카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.&quot; data-og-host=&quot;developers.kakao.com&quot; data-og-source-url=&quot;https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios&quot; data-og-url=&quot;https://developers.kakao.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/du4IxM/hyHaZS3Vks/H8dHW2JasYH7o0jKakyhgk/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/1VLTL/hyHbfO9ht3/IiqgQ1W4voVKwHkgBHeBu1/img.png?width=3840&amp;amp;height=1000&amp;amp;face=0_0_3840_1000,https://scrap.kakaocdn.net/dn/b6qEVO/hyHa1pNVdS/XycOYzOyjwQIxK6sfBHWh0/img.png?width=3840&amp;amp;height=1000&amp;amp;face=0_0_3840_1000&quot;&gt;&lt;a href=&quot;https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/du4IxM/hyHaZS3Vks/H8dHW2JasYH7o0jKakyhgk/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/1VLTL/hyHbfO9ht3/IiqgQ1W4voVKwHkgBHeBu1/img.png?width=3840&amp;amp;height=1000&amp;amp;face=0_0_3840_1000,https://scrap.kakaocdn.net/dn/b6qEVO/hyHa1pNVdS/XycOYzOyjwQIxK6sfBHWh0/img.png?width=3840&amp;amp;height=1000&amp;amp;face=0_0_3840_1000');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Kakao Developers&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;developers.kakao.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문서를 봤는데&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정말 정리가 너무너무너무&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;깔끔하게 되어있더라고요..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;담당하시는 분에게 엄지 척!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;얼마나 쉬운지&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;제가 한 번&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;따라서 구현해보도록 하겠습니다 :)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 카카오 로그인 API v2 사용하기&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기본적으로 애플리케이션을 등록을 해야 하는 건 동일합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래야 Key를 받겠죠?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 부분은 설명을 생략하도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVgsFU/btqGULA3yW6/zmARNkexBbxuSi5OQChU91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVgsFU/btqGULA3yW6/zmARNkexBbxuSi5OQChU91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVgsFU/btqGULA3yW6/zmARNkexBbxuSi5OQChU91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVgsFU%2FbtqGULA3yW6%2FzmARNkexBbxuSi5OQChU91%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;요구사항은 다음과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;요즘 다 Xcode 11.0 이상 쓰잖아요?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개발 타겟 11.0 미만 없죠??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;있으면 죄송합니당... &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmEKbw/btqGRQCSl4c/7wvnQBspdIyHMQjDehqK3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmEKbw/btqGRQCSl4c/7wvnQBspdIyHMQjDehqK3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmEKbw/btqGRQCSl4c/7wvnQBspdIyHMQjDehqK3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmEKbw%2FbtqGRQCSl4c%2F7wvnQBspdIyHMQjDehqK3K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;kakaoSDK 전체를 설치하시려면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;pod 'KakaoSDK'&lt;/b&gt;를 추가하시고요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;필요한 모듈만 추가하시려면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래 4개 중 선택해서 추가하시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YJx6r/btqGRR9GffR/c6TD3HYHdoXg7oVJkTxJk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YJx6r/btqGRR9GffR/c6TD3HYHdoXg7oVJkTxJk1/img.png&quot; data-alt=&quot;[출처 : kakao 개발자 사이트]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YJx6r/btqGRR9GffR/c6TD3HYHdoXg7oVJkTxJk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYJx6r%2FbtqGRR9GffR%2Fc6TD3HYHdoXg7oVJkTxJk1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[출처 : kakao 개발자 사이트]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;카카오톡 로그인을 사용하기 위해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;'KakaoSDKAuth'&lt;/b&gt;와 &lt;b&gt;'KakaoSDKUser'&lt;/b&gt;를 추가하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 kakaoSDK init을 위해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;'KakaoSDKCommon'&lt;/b&gt;도 추가하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;뭐 결국 다 필요하네...ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 info.plist 추가할게요~&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLchGL/btqGUfCyAGM/jLTd2iJYv76JjfNYUMiGQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLchGL/btqGUfCyAGM/jLTd2iJYv76JjfNYUMiGQk/img.png&quot; data-alt=&quot;[출처 : kakao 개발자 사이트]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLchGL/btqGUfCyAGM/jLTd2iJYv76JjfNYUMiGQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLchGL%2FbtqGUfCyAGM%2FjLTd2iJYv76JjfNYUMiGQk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[출처 : kakao 개발자 사이트]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;URL Schemes도 설정합니다~&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;URL Schemes에 값으로는&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;네이티브 앱 키(Native App Key)&lt;/b&gt;를&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;kakao{KAKAO_APP_KEY} 형식&lt;/b&gt;으로 등록합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8h59K/btqGK2RLbSa/caqLp0MDGX5Z5tOhcV7bhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8h59K/btqGK2RLbSa/caqLp0MDGX5Z5tOhcV7bhK/img.png&quot; data-alt=&quot;[출처 : kakao 개발자 사이트]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8h59K/btqGK2RLbSa/caqLp0MDGX5Z5tOhcV7bhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8h59K%2FbtqGK2RLbSa%2FcaqLp0MDGX5Z5tOhcV7bhK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[출처 : kakao 개발자 사이트]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 &lt;b&gt;AppDelegate.swift&lt;/b&gt;에 코드를 작성하도록 할게요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 &lt;b&gt;&quot;import KakaoSDKCommon&quot;&lt;/b&gt; 해주시고&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;didFinishLaunchingWithOptions 쪽에 코드 한 줄 추가할게요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[아래 참조]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/furydeveloper/a8dd8722460fca9e1ca4e4decb5d9701.js&quot;&gt;&lt;/script&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;한 번 더! &lt;b&gt;AppDelegate.swift&lt;/b&gt;에&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&quot;import KakaoSDKAuth&quot;&lt;/b&gt;&amp;nbsp;해주시고&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;open url 쪽에 코드 3줄을 작성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[아래 참조]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/furydeveloper/e262668b59ca3ecb3834b9c4f93727d9.js&quot;&gt;&lt;/script&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;만약, target이 iOS 13 이상이면서 SceneDelegate를 사용하신다면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AppDelegate에 작성하지 마시고&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;SceneDelegate.swift&lt;/b&gt;에 아래 코드를 작성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[아래 참조]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/furydeveloper/1c6f1951e83b861a345ae79888b922fe.js&quot;&gt;&lt;/script&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;자 이제 로그인만 구현하면 끝나네요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 로그인을 구현할 곳에&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&quot;KakaoSDKAuth&quot;, &quot;KakaoSDKUser&quot;&lt;/b&gt; 두 개 import 해주세요~&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cslwbb/btqGVvx96nm/vEOZuZDQ4J89RJcYXVUQtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cslwbb/btqGVvx96nm/vEOZuZDQ4J89RJcYXVUQtk/img.png&quot; data-alt=&quot;[출처 : kakao 개발자 사이트]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cslwbb/btqGVvx96nm/vEOZuZDQ4J89RJcYXVUQtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcslwbb%2FbtqGVvx96nm%2FvEOZuZDQ4J89RJcYXVUQtk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[출처 : kakao 개발자 사이트]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;로그인에 관련된 API는 AuthApi Class에 전부 구현이 되어 있어요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;간편하게 API를 호출할 수 있도록 싱글톤으로 제공되네요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bi4bjI/btqGNEb3LaE/7nf7OqrBXzboSsPiAtY3Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bi4bjI/btqGNEb3LaE/7nf7OqrBXzboSsPiAtY3Kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bi4bjI/btqGNEb3LaE/7nf7OqrBXzboSsPiAtY3Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbi4bjI%2FbtqGNEb3LaE%2F7nf7OqrBXzboSsPiAtY3Kk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;isKakaoTalkLoginAvailable() 메서드를 통해서 카카오톡 설치 여부를 확인할 수 있고요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;loginWithKakaoTalk() 메서드를 통해서 로그인을 하실 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b51j4D/btqGRQpvTbj/9ly9VBlQeDdcVXRTfa8af0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b51j4D/btqGRQpvTbj/9ly9VBlQeDdcVXRTfa8af0/img.png&quot; data-alt=&quot;[출처 : kakao 개발자 사이트]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b51j4D/btqGRQpvTbj/9ly9VBlQeDdcVXRTfa8af0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb51j4D%2FbtqGRQpvTbj%2F9ly9VBlQeDdcVXRTfa8af0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[출처 : kakao 개발자 사이트]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자 엑세스 토큰 정보가 필요하다면??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AuthApi Class가 아닌 UserApi Class를 통해서 가져오실 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czkGr1/btqGUcFElej/davaJPOPW0jccRshM5pYf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czkGr1/btqGUcFElej/davaJPOPW0jccRshM5pYf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czkGr1/btqGUcFElej/davaJPOPW0jccRshM5pYf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczkGr1%2FbtqGUcFElej%2FdavaJPOPW0jccRshM5pYf0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;클래스 안에 주석으로 설명이 잘 되어 있네요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 사용자 정보는?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;UserApi 클래스에 me라는 메서드를 통해서 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnZziN/btqGYoFdOux/uYP6xoRaBgUq3aMCiaGIBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnZziN/btqGYoFdOux/uYP6xoRaBgUq3aMCiaGIBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnZziN/btqGYoFdOux/uYP6xoRaBgUq3aMCiaGIBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnZziN%2FbtqGYoFdOux%2FuYP6xoRaBgUq3aMCiaGIBK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기타 자세한 내용들은&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;카카오 개발자 사이트 문서에 잘 설명되어 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;진짜 문서만 봐도 다 할 수 있을 정도로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;쉽게 설명해놨습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모두 정독하세요~ㅎㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>ios</category>
      <category>Kakao</category>
      <category>SWIFT</category>
      <category>Xcode</category>
      <category>카카오 로그인</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/67</guid>
      <comments>https://developer-fury.tistory.com/67#entry67comment</comments>
      <pubDate>Wed, 19 Aug 2020 14:22:21 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] UITabBar -&amp;gt; UINavigationController -&amp;gt; ViewController의 PresentingViewController 찾기!!</title>
      <link>https://developer-fury.tistory.com/63</link>
      <description>&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; Fury입니다 :)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;바로 본론으로 갈게요! ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;먼저,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;A ViewController -&amp;gt; B ViewController로 present를 했다고 가정할게요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;B ViewController에서 작업을 수행하고&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;dismiss를 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;그리고 나를 띄운 A ViewController에서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;무언가 처리를 해주어야 할 때!!!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;방법은 여러가지가 있겠죠?&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;Delegate를 쓴다거나&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;NotificationCenter를 통해 Observing을 한다던가&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;나를 띄운 VC인 PresentingViewController를 찾는다던가!!&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;이 글에서는&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;PresentingViewController&lt;/span&gt;를 찾아서 작업을 하는 것을 설명드리려고요.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;특히!!&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그 &lt;span style=&quot;color: #333333;&quot;&gt;PresentingViewController&lt;/span&gt;가 단순한 ViewController가 아니라면??&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;한 번 알아보죠&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;UITabBar -&amp;gt; UINavigationController -&amp;gt; ViewController의 PresentingViewController&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;만약 보통의 presentingViewController 찾는 코드라면&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1583928137918&quot; class=&quot;swift&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background: #f6f7f8; font-size: 14px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if let pvc = presentingViewController as? ViewController {
	pvc.alertNotice()
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;이런 식으로 코드를 작성하겠죠.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;하지만, presentingVC가&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;UITabBarController안에 UINavigationController안에 속해있는 ViewController라면??&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;presentingViewController를 출력해보면&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;UITabBarController가 나오는 것을 확인할 수 있을 거예요.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그래서 결론을 내자면&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;아래와 같이&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;찾으시면 됩니다!!&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1583928200520&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if let tvc = self.presentingViewController as? UITabBarController {
	if let nvc = tvc.selectedViewController as? UINavigationController {
		if let pvc = nvc.topViewController as? ViewController {
			let chatRoomVC = ChatRoomViewController()
			chatRoomVC.observerCount = -1
			chatRoomVC.modalPresentationStyle = .fullScreen
			self.dismiss(animated: false) {
				pvc.goToChatRoom(groupDB)
			}
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;UITabBarController -&amp;gt; UINavigationController -&amp;gt; ViewController 순으로 찾으시면 됩니다!&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그냥 삽질하다가 정리 한 번 해봤습니다ㅋㅋㅋ&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;감사합니당&amp;nbsp;:)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>ios</category>
      <category>presentingViewController</category>
      <category>SWIFT</category>
      <category>Xcode</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/63</guid>
      <comments>https://developer-fury.tistory.com/63#entry63comment</comments>
      <pubDate>Wed, 11 Mar 2020 21:07:29 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] 스위프트 GCD 기초 정리(1) - Serial Queue, Concurrent Queue</title>
      <link>https://developer-fury.tistory.com/61</link>
      <description>&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 :)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;오늘은 &lt;span style=&quot;color: #000000;&quot;&gt;직렬(Serial)큐, 동시(Concurrent)큐, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동기(Sync), 비동기(Async)&lt;/span&gt;에 대해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정리를 해보려고 합니다!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;왜냐하면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비동기라고 듣고 그냥 쓰고 있는 것들이 많은데&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;내가 잘 알고 쓰고 있는 게 맞는지 의문이 들어서요..ㅠㅠ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지금부터 내용은&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래의 인프런 동영상 강의를 기반으로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정리해 보도록 할게요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;제 기준에서는&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 알아듣기 쉽게 설명해 주셔서 좋더라고요 :)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot;&gt;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1582870189832&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고  GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해 - 인프런&quot; data-og-description=&quot;동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동기, 비동기의 개념 및 그를 확장한 GCD 및 Operation에 관한 모든 내용을 다룹니다. 초급 IT 프로그래밍 모바일 앱 iOS Swift 모바일 앱 온라인 강의 ios에서 동기와 비동기 처리의 기본 개념을 배우고 디스패치큐GCD와 오퍼레이션큐OperationQueue에 대해 배워보자&quot; data-og-host=&quot;www.inflearn.com&quot; data-og-source-url=&quot;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot; data-og-url=&quot;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vxgBy/hyE6EoHEEg/kjOENlOMI8FTkvha7CZPhk/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500,https://scrap.kakaocdn.net/dn/gMTyj/hyE48LJ9Vz/l0BK0hhwpxU2CilvHkjiP1/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500&quot;&gt;&lt;a href=&quot;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vxgBy/hyE6EoHEEg/kjOENlOMI8FTkvha7CZPhk/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500,https://scrap.kakaocdn.net/dn/gMTyj/hyE48LJ9Vz/l0BK0hhwpxU2CilvHkjiP1/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해 - 인프런&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동기, 비동기의 개념 및 그를 확장한 GCD 및 Operation에 관한 모든 내용을 다룹니다. 초급 IT 프로그래밍 모바일 앱 iOS Swift 모바일 앱 온라인 강의 ios에서 동기와 비동기 처리의 기본 개념을 배우고 디스패치큐GCD와 오퍼레이션큐OperationQueue에 대해 배워보자&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.inflearn.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. GCD&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GCD (Grand Central Dispatch)는&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;멀티코어 프로세서와 멀티 프로세싱 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이라고 wikipedia에 나와있네요&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Grand_Central_Dispatch&quot;&gt;https://en.wikipedia.org/wiki/Grand_Central_Dispatch&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1582870831780&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Grand Central Dispatch - Wikipedia&quot; data-og-description=&quot;Grand Central Dispatch (GCD or libdispatch), is a technology developed by Apple Inc. to optimize application support for systems with multi-core processors and other symmetric multiprocessing systems.[2] It is an implementation of task parallelism based on&quot; data-og-host=&quot;en.wikipedia.org&quot; data-og-source-url=&quot;https://en.wikipedia.org/wiki/Grand_Central_Dispatch&quot; data-og-url=&quot;https://en.wikipedia.org/wiki/Grand_Central_Dispatch&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Grand_Central_Dispatch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://en.wikipedia.org/wiki/Grand_Central_Dispatch&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Grand Central Dispatch - Wikipedia&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Grand Central Dispatch (GCD or libdispatch), is a technology developed by Apple Inc. to optimize application support for systems with multi-core processors and other symmetric multiprocessing systems.[2] It is an implementation of task parallelism based on&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;en.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GCD를 우리는 통상적으로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; Dispatch Queue(디스패치 큐) 라고 부릅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Dispatch Queue를 정리하기에 앞서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;직렬(Serial)큐, 동시(Concurrent)큐, 동기(Sync), 비동기(Async)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4가지에 대해서 먼저 정리할 건데요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 글에서는&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;직렬(Serial)큐와 동시(Concurrent)큐에 대해서 알아보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. 직렬(Serial)큐, 동시(Concurrent)큐&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;직렬(Serial)큐, 동시(Concurrent)큐에 들어가기 앞서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;큐의 특징은 알고 계신가요??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;큐는 FIFO(First In First Out) 형태로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 들어간 것이 먼저 나오는 특징을 가지고 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;자, 그럼 먼저,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;직렬(Serial)큐&lt;/b&gt;에 대해서 알아보도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;직렬(Serial)큐란?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;분산처리시킨 작업을&lt;/span&gt; &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;다른 한 개의 쓰레드에서&lt;/b&gt;&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;처리하는 큐&quot;라고 이야기하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(강의에서 위와 같이 정의하고 있습니다)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메인 쓰레드에서 &lt;b&gt;하나의 직렬큐&lt;/b&gt;에 작업들을 할당합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 아래와 같은 상태가 되겠지요??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bL274k/btqCkRzvt9L/BAmv93Ui1po5SpUkXTDfck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bL274k/btqCkRzvt9L/BAmv93Ui1po5SpUkXTDfck/img.png&quot; data-alt=&quot;출처 :&amp;amp;amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bL274k/btqCkRzvt9L/BAmv93Ui1po5SpUkXTDfck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbL274k%2FbtqCkRzvt9L%2FBAmv93Ui1po5SpUkXTDfck%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처 :&amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 직렬큐 대기열에 들어있던 작업들은&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Thread2에 순차적으로 할당되게 됩니다. (큐의 특징)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(무조건 Thread2가 아닙니다. 할당되는 쓰레드는 알 수 없습니다)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러므로 Thread2에서 순차적으로 처리가 되겠지요!?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/stHQC/btqClyzDucn/RNbEfnYjXSkANDY8WBnxu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/stHQC/btqClyzDucn/RNbEfnYjXSkANDY8WBnxu0/img.png&quot; data-alt=&quot;출처 :&amp;amp;amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/stHQC/btqClyzDucn/RNbEfnYjXSkANDY8WBnxu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FstHQC%2FbtqClyzDucn%2FRNbEfnYjXSkANDY8WBnxu0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처 :&amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여러 개의 직렬(Serial)큐를 만들어 처리한다면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각각의 직렬(Serial)큐 별로 하나의 쓰레드에 작업을 할당하지만&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각각의 큐는 Concurrent 하게 동작합니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Concurrent하게 동작한다??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;자, 그러면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;동시(Concurrent)큐&lt;/b&gt;에 대해서 알아봐야겠죠??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;b&gt;&lt;b&gt;동시&lt;/b&gt;(&lt;b&gt;Concurrent&lt;/b&gt;)큐란?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;분산처리시킨 작업을&lt;/span&gt; &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;다른 여러 개의 쓰레드에서&lt;/b&gt;&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;처리하는 큐&quot;라고 이야기하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;마찬가지로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메인 쓰레드에서&amp;nbsp;&lt;b&gt;하나의 동시큐&lt;/b&gt;에 작업들을 할당합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 아래와 같은 상태가 되겠지요??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWx2YF/btqCoQM8g4R/IUNGbKebdpGpkjrZ8LNdKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWx2YF/btqCoQM8g4R/IUNGbKebdpGpkjrZ8LNdKk/img.png&quot; data-alt=&quot;출처 :&amp;amp;amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWx2YF/btqCoQM8g4R/IUNGbKebdpGpkjrZ8LNdKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWx2YF%2FbtqCoQM8g4R%2FIUNGbKebdpGpkjrZ8LNdKk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처 :&amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;직렬큐와 다르게&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;여러 개의 쓰레드로 분산하여 처리&lt;/b&gt;하고 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;몇 개의 쓰레드로 분산할지는 시스템이 알아서 결정하는 부분이라고 하네요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckaz3u/btqCkRGiNhz/UcQDvrXTJO8iDqm51UQRGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckaz3u/btqCkRGiNhz/UcQDvrXTJO8iDqm51UQRGK/img.png&quot; data-alt=&quot;출처 :&amp;amp;amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckaz3u/btqCkRGiNhz/UcQDvrXTJO8iDqm51UQRGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fckaz3u%2FbtqCkRGiNhz%2FUcQDvrXTJO8iDqm51UQRGK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처 :&amp;nbsp;https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;자, 정리하자면!!!&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;직렬(Serial)큐와 동시(Concurrent)큐가 있는데&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;직렬(Serial)큐는&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;분산처리시킨 작업을&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;다른 한 개의 쓰레드에서&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;처리하는 큐&quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;동시(Concurrent)큐는&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;분산처리시킨 작업을&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;다른 여러 개의 쓰레드에서&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;처리하는 큐&quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;하지만!&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여러 개의 직렬(Serial)큐를 만들어 처리한다면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각각의 직렬(Serial)큐 별로 하나의 쓰레드에 작업을 할당하지만&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각각의 큐는 Concurrent 하게 동작합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;저 나름대로 이해하기 위해서&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;동영상 강의를 참고하여 정리했는데요.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;혹시, 제가 잘못 이해하고 적은 부분이 있다면&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;언제든지 알려주시기 바랍니다!&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;끝!&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>GCD</category>
      <category>Queue</category>
      <category>SWIFT</category>
      <category>Xcode</category>
      <category>비동기</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/61</guid>
      <comments>https://developer-fury.tistory.com/61#entry61comment</comments>
      <pubDate>Fri, 28 Feb 2020 16:22:07 +0900</pubDate>
    </item>
    <item>
      <title>[후기] 키크론K2 84키 적축 언박싱 및 사용 후기</title>
      <link>https://developer-fury.tistory.com/60</link>
      <description>&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 :]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;맥북으로 계속 개발을 하다가 보니&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;발열 때문에 손가락이 너무 뜨거워서 ㅠㅠ&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;기계식 키보드를 처음으로&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;하나 장만해 봤습니다!!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;처음에는 이왕 사는 거 좋은걸 사보자 해서&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;해피해킹 키보드를 알아봤는데요.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;가격도 많이 비싸고&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키 배열에 방향키도 없고..&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;저는 적응을 못할 것 같아서&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;다른 키보드를 알아보던 찰나에&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키크론 K2 키보드가 눈에 들어와서 구매하게 되었어요!ㅎㅎ&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwQPjv/btqCaS0rGmr/H8nYlTLfQplr1dYeA8882k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwQPjv/btqCaS0rGmr/H8nYlTLfQplr1dYeA8882k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwQPjv/btqCaS0rGmr/H8nYlTLfQplr1dYeA8882k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwQPjv%2FbtqCaS0rGmr%2FH8nYlTLfQplr1dYeA8882k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;박스 안에 요로코롬!!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;비닐에 쌓여서 들어 있어요!!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;포장이 깔끔해서 좋네요 ㅎㅎㅎ&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n5ugL/btqCcB4xpc0/kaVchNHeO8FrvFdovwIZok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n5ugL/btqCcB4xpc0/kaVchNHeO8FrvFdovwIZok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n5ugL/btqCcB4xpc0/kaVchNHeO8FrvFdovwIZok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn5ugL%2FbtqCcB4xpc0%2FkaVchNHeO8FrvFdovwIZok%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;다음은 구성품입니다.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키보드 설명서, 키 뽑는 물건(?), Window 추가 키, 유선, 키보드&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;이렇게 들어있어요!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8Ew5e/btqCcVBKkaQ/CKlek4V36IkFVugdNFDFm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8Ew5e/btqCcVBKkaQ/CKlek4V36IkFVugdNFDFm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8Ew5e/btqCcVBKkaQ/CKlek4V36IkFVugdNFDFm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8Ew5e%2FbtqCcVBKkaQ%2FCKlek4V36IkFVugdNFDFm0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;저는 기본적으로 맥북을 사용하고 있어서&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키캡을 교체할 일이 없었는데&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;윈도우를 사용하시는 분들이라면 저 추가 키캡을 윈도우 용으로 교체하시면 될 거예요.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그 방법도 설명서에 잘 나타나 있더라고요~&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzlGCr/btqCaSzzARF/wGzg3qeeK3kLH8utu2kyi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzlGCr/btqCaSzzARF/wGzg3qeeK3kLH8utu2kyi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzlGCr/btqCaSzzARF/wGzg3qeeK3kLH8utu2kyi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzlGCr%2FbtqCaSzzARF%2FwGzg3qeeK3kLH8utu2kyi0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그리고 키보드는 블루투스 키보드인데&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;추가 구성품으로 들어있는 선을 통해서 유선으로도 사용하실 수 있습니다!!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YCDWy/btqCdgllVlO/kFKrG0hHzQVcGK8JdqPg5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YCDWy/btqCdgllVlO/kFKrG0hHzQVcGK8JdqPg5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YCDWy/btqCdgllVlO/kFKrG0hHzQVcGK8JdqPg5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYCDWy%2FbtqCdgllVlO%2FkFKrG0hHzQVcGK8JdqPg5k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;저 위에 구멍? 보이시죠??&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;저기에 유선을 연결해서&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;USB 형태의 유선 키보드로 사용하실 수 있어요~&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;사용 후기&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;지금 이 블로그도 키크론 K2 키보드로 작성하고 있어요.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;제가 산 키보드는 &quot;적축&quot;이고요.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;처음 써보는 기계식 키보드라서 너무 기대되는데요!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;일단 사용감은 좋습니다.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키보드 치는 맛도 확실히 있고요!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키보드 간격이 너무 넓지도 좁지도 않고 적당해서&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;너무 좋습니다.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그런데 '스페이스 바'는 조오 금 뻑뻑? 한 감이 있네요.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;다른 키들은 칠 때마다 '탁탁탁' 소리가 난다면&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;스페이스바는 '둑둑둑' 같은 느낌?ㅋㅋㅋㅋ&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vtGvH/btqCckIOaga/KHqhXupFkOkQdnGq3xpNok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vtGvH/btqCckIOaga/KHqhXupFkOkQdnGq3xpNok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vtGvH/btqCckIOaga/KHqhXupFkOkQdnGq3xpNok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvtGvH%2FbtqCckIOaga%2FKHqhXupFkOkQdnGq3xpNok%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키 색상은 단색부터 여러 가지 색까지 다양하게 준비되어 있더라고요!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;처음 써보는 기계식 키보드!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;키크론 K2 괜찮은 것 같아요 ㅎㅎㅎ&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;앞으로 잘 쓸 것 같습니당 !!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;다만!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;맥북을 사용하는 사용자로서..&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;패드에 적응이 되어 있는데 기계식 키보드를 따로 빼서 쓰니까&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;패드를 사용하기가 어렵네요!!!&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그래서,&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;트랙 패드도 샀습니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;이런 단점이.. ㅋㅋㅋㅋㅋ&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;다음에는 트랙 패트 언박싱 및 후기 작성해 볼게요!&lt;/p&gt;</description>
      <category>일상/Daily</category>
      <category>기계식키보드</category>
      <category>언박싱</category>
      <category>적축</category>
      <category>키크론K2</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/60</guid>
      <comments>https://developer-fury.tistory.com/60#entry60comment</comments>
      <pubDate>Sun, 23 Feb 2020 14:32:46 +0900</pubDate>
    </item>
    <item>
      <title>[iOS/출시/업데이트] 앱스토어 커넥트 버전 및 플랫폼 버전 잘못 입력했을 때!</title>
      <link>https://developer-fury.tistory.com/59</link>
      <description>&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 :)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;iOS 개발자로 취업한 지 이제 약 4개월? 이 되어가네요 ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스토어에 앱을 출시하는 경험도 하고&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제는 업데이트를 올리는데!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 과정에서 버전 및 플랫폼에 뭘 적는지 몰라서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앱 아이디를 적어 벼렸지 뭐예요 ㅋㅋㅋㅋㅋ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이상한 버전의 제출 준비 중이 생겨버렸어요 ㅠㅠ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGdlv2/btqCaTxZ6rJ/eVhsT6VwZqQqnECmjrM4iK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGdlv2/btqCaTxZ6rJ/eVhsT6VwZqQqnECmjrM4iK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGdlv2/btqCaTxZ6rJ/eVhsT6VwZqQqnECmjrM4iK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGdlv2%2FbtqCaTxZ6rJ%2FeVhsT6VwZqQqnECmjrM4iK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이거 삭제도 안되고...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어디서 수정하는지 찾아보니&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;'앱 정보' &lt;/b&gt;쪽에서 수정이 가능하네요!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;746&quot; height=&quot;712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvoDai/btqB9XOl0xB/UGWn7ZNnvxmoiXbwiQcEg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvoDai/btqB9XOl0xB/UGWn7ZNnvxmoiXbwiQcEg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvoDai/btqB9XOl0xB/UGWn7ZNnvxmoiXbwiQcEg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvoDai%2FbtqB9XOl0xB%2FUGWn7ZNnvxmoiXbwiQcEg0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;746&quot; height=&quot;712&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이상한 버전의 '제출 준비 중' 페이지로 이동하셔서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저 버전을&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;수정하시면 됩니다~&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시나 저처럼 당황하실 분들을 위해서 공유드립니다 ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>ios</category>
      <category>Xcode</category>
      <category>앱스토어 커넥트</category>
      <category>앱커넥트</category>
      <category>업데이트</category>
      <category>출시</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/59</guid>
      <comments>https://developer-fury.tistory.com/59#entry59comment</comments>
      <pubDate>Sat, 22 Feb 2020 12:40:29 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] 공유하기 내용 한국어로 나오게 하기 !! (ActivityViewController localization)</title>
      <link>https://developer-fury.tistory.com/58</link>
      <description>&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 :]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;오랜만에 블로그네요!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;요즘 채팅앱을 만들어 보고 있는데요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;'공유하기' 기능이 필요하다고 해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ActivityViewController로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;구현을 해보았죠!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런데!!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;왜 영어로 나오지...??&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;356&quot; height=&quot;771&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;2436&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9oJkq/btqB1Hjpjeh/Ojil3PcWi8iWjWFKidA2B1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9oJkq/btqB1Hjpjeh/Ojil3PcWi8iWjWFKidA2B1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9oJkq/btqB1Hjpjeh/Ojil3PcWi8iWjWFKidA2B1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9oJkq%2FbtqB1Hjpjeh%2FOjil3PcWi8iWjWFKidA2B1%2Fimg.png&quot; width=&quot;356&quot; height=&quot;771&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;2436&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;물론 나는 해외 어학연수 15주를 다녀와서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저 정도 해석은 가능하지만...ㅋㅋㅋㅋ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래도... 한국어가 좋다!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 열심히 삽질하고 찾아본 결과,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개발 지역의 Localization 값이 English로 되어있어서 그런 것 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;info.plist의&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Localization native development region을&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; Korea로 설정해보았다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NHWDh/btqB1HjqQ0v/4IYk2oKcDkhakotwHf8NU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NHWDh/btqB1HjqQ0v/4IYk2oKcDkhakotwHf8NU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NHWDh/btqB1HjqQ0v/4IYk2oKcDkhakotwHf8NU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNHWDh%2FbtqB1HjqQ0v%2F4IYk2oKcDkhakotwHf8NU0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;한국어로 잘 나온다 !! ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_6255.PNG&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;2436&quot; width=&quot;364&quot; height=&quot;788&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ozkX4/btqB2Jnizoy/ZsDGHzKmiEKr6nn4pbhBik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ozkX4/btqB2Jnizoy/ZsDGHzKmiEKr6nn4pbhBik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ozkX4/btqB2Jnizoy/ZsDGHzKmiEKr6nn4pbhBik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FozkX4%2FbtqB2Jnizoy%2FZsDGHzKmiEKr6nn4pbhBik%2Fimg.png&quot; data-filename=&quot;IMG_6255.PNG&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;2436&quot; width=&quot;364&quot; height=&quot;788&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;끝!&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>ActivityViewController</category>
      <category>Localization</category>
      <category>SWIFT</category>
      <category>공유하기 한국어</category>
      <category>삽질</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/58</guid>
      <comments>https://developer-fury.tistory.com/58#entry58comment</comments>
      <pubDate>Sun, 16 Feb 2020 11:23:16 +0900</pubDate>
    </item>
    <item>
      <title>[swift] Firebase 애플로그인 에러(Nonce is missing in the request.)</title>
      <link>https://developer-fury.tistory.com/57</link>
      <description>&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 :]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;최근에 iOS 13으로 버전이 올라가면서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;새로 생긴 기능 중 하나가 바로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;Sign in with AApple&quot; 기능이죠.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&quot;다른 소셜 로그인을 사용하고 있다면&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;애플 로그인도 무조건 사용해라!&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;라는 애플 정책으로 인해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저도 애플 로그인을 달아야 합니다..ㅠㅠ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 저번에는 애플 가이드를 통해&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;애플 로그인 방법을 알아봤었는데요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://developer-fury.tistory.com/50&quot;&gt;https://developer-fury.tistory.com/50&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1578830299461&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Swift] Sign in with Apple - 애플 로그인 사용해보기!!&quot; data-og-description=&quot;안녕하세요 :] 퓨리입니다~ 아래는 &amp;quot;Apple로 로그인&amp;quot;에 대한 지침이에요. 이로서 소셜 로그인을 사용하는 앱들은 무조건 Apple로 로그인하기 기능을 구현해야 합니다. 기존에 앱스토어에 등록되어 있는 앱은 유예..&quot; data-og-host=&quot;developer-fury.tistory.com&quot; data-og-source-url=&quot;https://developer-fury.tistory.com/50&quot; data-og-url=&quot;https://developer-fury.tistory.com/50&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cknEAo/hyEwK5At17/s6ry5Wa7DjftmNSlyuuXT0/img.png?width=800&amp;amp;height=242&amp;amp;face=0_0_800_242,https://scrap.kakaocdn.net/dn/UP7PV/hyEwRwS43l/FbIlMyw9AaJaqxu0VAA68k/img.png?width=800&amp;amp;height=242&amp;amp;face=0_0_800_242,https://scrap.kakaocdn.net/dn/blg3vf/hyEwNabg8h/FulW8ykCWTohzQmUOhHEE1/img.png?width=2826&amp;amp;height=924&amp;amp;face=0_0_2826_924&quot;&gt;&lt;a href=&quot;https://developer-fury.tistory.com/50&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer-fury.tistory.com/50&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cknEAo/hyEwK5At17/s6ry5Wa7DjftmNSlyuuXT0/img.png?width=800&amp;amp;height=242&amp;amp;face=0_0_800_242,https://scrap.kakaocdn.net/dn/UP7PV/hyEwRwS43l/FbIlMyw9AaJaqxu0VAA68k/img.png?width=800&amp;amp;height=242&amp;amp;face=0_0_800_242,https://scrap.kakaocdn.net/dn/blg3vf/hyEwNabg8h/FulW8ykCWTohzQmUOhHEE1/img.png?width=2826&amp;amp;height=924&amp;amp;face=0_0_2826_924');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[Swift] Sign in with Apple - 애플 로그인 사용해보기!!&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;안녕하세요 :] 퓨리입니다~ 아래는 &quot;Apple로 로그인&quot;에 대한 지침이에요. 이로서 소셜 로그인을 사용하는 앱들은 무조건 Apple로 로그인하기 기능을 구현해야 합니다. 기존에 앱스토어에 등록되어 있는 앱은 유예..&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;developer-fury.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번에 Firesbase에서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;애플 로그인을 지원하고 있다는 소식을 듣고&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용해 봤습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래의 링크를 보시면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문서가 있습니다!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://firebase.google.com/docs/auth/ios/apple&quot;&gt;https://firebase.google.com/docs/auth/ios/apple&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1578830357726&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;iOS에서 Apple을 통해 인증하기 &amp;nbsp;|&amp;nbsp; Firebase&quot; data-og-description=&quot;Firebase SDK를 통해 엔드 투 엔드 OAuth 2.0 로그인 과정을 실행하여 사용자가 Apple ID를 사용해 Firebase에 인증하도록 할 수 있습니다. 중요: Apple로 로그인하려면 사용자는 다음을 충족해야 합니다. 2단계 인증(2FA)이 사용 설정된 Apple ID가 있어야 합니다. Apple 기기에서 iCloud에 로그인되어 있어야 합니다. Apple로 로그인 사용 방법을 참조하세요. Apple로 로그인과의 통합을 테스트하려면 다음 요&quot; data-og-host=&quot;firebase.google.com&quot; data-og-source-url=&quot;https://firebase.google.com/docs/auth/ios/apple&quot; data-og-url=&quot;https://firebase.google.com/docs/auth/ios/apple?hl=ko&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://firebase.google.com/docs/auth/ios/apple?hl=ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://firebase.google.com/docs/auth/ios/apple&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;iOS에서 Apple을 통해 인증하기 &amp;nbsp;|&amp;nbsp; Firebase&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Firebase SDK를 통해 엔드 투 엔드 OAuth 2.0 로그인 과정을 실행하여 사용자가 Apple ID를 사용해 Firebase에 인증하도록 할 수 있습니다. 중요: Apple로 로그인하려면 사용자는 다음을 충족해야 합니다. 2단계 인증(2FA)이 사용 설정된 Apple ID가 있어야 합니다. Apple 기기에서 iCloud에 로그인되어 있어야 합니다. Apple로 로그인 사용 방법을 참조하세요. Apple로 로그인과의 통합을 테스트하려면 다음 요&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;firebase.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 저도 똑같이 따라 해 봤는데요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아니..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&quot;Nonce is missing in the request.&quot;&lt;/b&gt; 에러가 계속 발생하는 겁니다..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1578831235434&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Error Domain=FIRAuthErrorDomain Code=17999 &quot;An internal error has occurred, print and inspect the error details for more information.&quot; UserInfo={NSUnderlyingError=0x60000388a820 {Error Domain=FIRAuthInternalErrorDomain Code=3 &quot;(null)&quot; UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey={
    code = 400;
    errors =     (
                {
            domain = global;
            message = &quot;MISSING_OR_INVALID_NONCE : Nonce is missing in the request.&quot;;
            reason = invalid;
        }
    );
    message = &quot;MISSING_OR_INVALID_NONCE : Nonce is missing in the request.&quot;;
}}}, FIRAuthErrorUserInfoNameKey=ERROR_INTERNAL_ERROR, error_name=ERROR_INTERNAL_ERROR, NSLocalizedDescription=An internal error has occurred, print and inspect the error details for more information.}
An internal error has occurred, print and inspect the error details for more information.&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 알아본 결과,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dKvDRf/btqA5QPPBh1/B6xDV9nvwsSni8agmOroB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dKvDRf/btqA5QPPBh1/B6xDV9nvwsSni8agmOroB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dKvDRf/btqA5QPPBh1/B6xDV9nvwsSni8agmOroB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKvDRf%2FbtqA5QPPBh1%2FB6xDV9nvwsSni8agmOroB1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;분명 제가 본건 OAuthProvider의 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;credential을 생성할 때&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;전달 인자가 withProviderID, idToken, accessToken이었어요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런데!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;계속 삽질하면서 왜 안되는 거야&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러고 있는데&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어느 순간 보니까 공식 문서가 수정이 된 것 같아요..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;진짜예요...&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래 중국인 개발자도 저랑 같은 문제를 호소하고 있었습니다!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://stackoom.com/question/3zbXO/%E4%BD%BF%E7%94%A8Apple%E4%B8%BAFirebase-IOS-Swift%E8%AE%BE%E7%BD%AE%E7%99%BB%E5%BD%95%E6%97%B6%E5%87%BA%E9%94%99%E7%9A%84%E5%8E%9F%E5%9B%A0&quot;&gt;https://stackoom.com/question/3zbXO/%E4%BD%BF%E7%94%A8Apple%E4%B8%BAFirebase-IOS-Swift%E8%AE%BE%E7%BD%AE%E7%99%BB%E5%BD%95%E6%97%B6%E5%87%BA%E9%94%99%E7%9A%84%E5%8E%9F%E5%9B%A0&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1578831307262&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a href=&quot;https://stackoom.com/question/3zbXO/%E4%BD%BF%E7%94%A8Apple%E4%B8%BAFirebase-IOS-Swift%E8%AE%BE%E7%BD%AE%E7%99%BB%E5%BD%95%E6%97%B6%E5%87%BA%E9%94%99%E7%9A%84%E5%8E%9F%E5%9B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;position: relative; border-right: 1px solid #d9d9d9; width: 200px; height: 200px; background-size: cover; background-position: center center; background-image: url('&amp;quot;&amp;quot;');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot; style=&quot;position: relative; flex-grow: 1; height: 130px; padding-left: 40px;&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;line-height: 1.6; color: #000000; font-size: 22px; padding-bottom: 10px; max-width: 467px; text-overflow: ellipsis; white-space: nowrap; margin: 0px; overflow: hidden; font-family: 'Noto Sans', 'Noto Sans KR';&quot;&gt;ios - 使用Apple为Firebase IOS13 Swift设置登录时出错的原因？ - 堆栈内存溢出&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;line-height: normal; margin: 0px; max-width: 467px; text-overflow: ellipsis; overflow: hidden; font-family: 'Noto Sans DemiLight', sans-serif; font-size: 14px; font-weight: 300; font-style: normal; font-stretch: normal; letter-spacing: normal; color: #909090; max-height: 42px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box;&quot;&gt;我一直在关注https://firebase.google.com/docs/auth/ios/apple ，它确实提到了我收到的错误，即&amp;ldquo;将SHA256哈希的随机数作为十六进制字符串发送&amp;rdquo;，但它没有提供任何错误帮助解决该问题，但是我的搜索没有给我提供可行的解决方案。 我的视图控制器代码摘录是 fileprivate var currentNonce: String? @objc @available(iOS 13, *) func startSignInWithAppleFlow() { let nonc&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;line-height: 1.6; margin: 0px; position: absolute; bottom: -8px; font-family: AvenirNext; font-size: 14px; color: #909090;&quot;&gt;stackoom.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 갑자기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결론은!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;변경된 전달 인자를 보면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;acessToken이 아니라&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;rawNonce에 nonce 값을 넣어주고 있어요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qg8Po/btqA4yPrezC/ry95Q8ClZeEDrU7s94cFD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qg8Po/btqA4yPrezC/ry95Q8ClZeEDrU7s94cFD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qg8Po/btqA4yPrezC/ry95Q8ClZeEDrU7s94cFD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQg8Po%2FbtqA4yPrezC%2Fry95Q8ClZeEDrU7s94cFD1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;네..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;전달 인자가 withProviderID, idToken, rawNonce입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;rawNonce!!!!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기에 nonce가 들어가는 게 맞겠죠ㅋㅋㅋㅋ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아 진짜 공식 문서에 rawNonce가 아니라 acessToken이었는데&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어이가 없네요..ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시나&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;만약에&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저와 같은 말도 안 되는 이유가 발생한다면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;전달 인자를 유심히 살펴보시기 바랍니다..ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;파이어베이스를 이용한 애플 로그인은&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 제가 한번 해보고&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;포스팅하도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>error</category>
      <category>firebase</category>
      <category>signinwithapple</category>
      <category>SWIFT</category>
      <category>Xcode</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/57</guid>
      <comments>https://developer-fury.tistory.com/57#entry57comment</comments>
      <pubDate>Mon, 13 Jan 2020 10:20:24 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] dismiss 한 뒤 바로 present 하는 방법</title>
      <link>https://developer-fury.tistory.com/56</link>
      <description>&lt;p style=&quot;font-size: 1.25em; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 :]&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;간혹 개발을 하다 보면&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;현재 화면을 닫음과 동시에 다른 화면을 열어야 하는 경우가 생기더라고요.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그 경우도 여러 가지 케이스가 있는데&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;제가 경험한 케이스를 공유해보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. dismiss 후 present 하기&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;보통 dismiss에 있는 컴플리션 핸들러를 사용해서&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;present 코드를 입력합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/furydeveloper/1f882b843b10b9c1b3ff66ef10216c00.js&quot;&gt;&lt;/script&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;자, 위의 코드가 정상적으로 실행이 될까요??&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;정답은 &lt;b&gt;&quot;안된다&quot;입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;자기 자신인 FirstViewController에서 dismiss를 하고 난 뒤&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;FirstViewController에서 SecondViewController를 present 하고 있습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;이미 FirstViewController는 사라졌는데&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;SecondVIewController를 present 할 수 있을 리가 없겠죠?&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/furydeveloper/3c6ba2d15ceee7adb317df3a266e0444.js&quot;&gt;&lt;/script&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그렇기 때문에 위의 코드처럼&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;FirstViewController를 present 한 pvc를 찾고&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;pvc에서 present를 해줘야 합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. rootViewController까지 dismiss 하고 present 하기&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;이 같은 경우는&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;화면의 스택이 많이 쌓여있는 상태에서&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;많이 찾게 될 방법인 것 같습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;아래의 코드는&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;본인인증 VC를 present 하고&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;본인인증이 끝나면 HomeVC로 이동하게 되는데,&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;더 이상 사용하지 않는 본인인증 VC를 dismiss 하고&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;HomeVC를 띄우는 상황으로 가정하도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;(본인인증 VC 뒤에도 처리 방침 동의와 같은&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;필요 없는 VC들이 많이 쌓여있다고 가정하겠습니다.)&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/furydeveloper/6f5f308eb0bc65fa7a4d90d1dc657abf.js&quot;&gt;&lt;/script&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;첫 번째 줄을 보시면&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;rootViewController까지 전부 dismiss 시켜주는 코드입니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그리고 rootViewController의 dismiss completion에서&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;띄울 VC를 생성하고&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;appDelegate를 찾아서&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;rootViewController의 present를 실행하게 됩니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그러면 rootViewController와 현재 VC 사이에 있던&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;모든 VC들이 dismiss 되고&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;rootViewController는 새로운 VC를 present 하게 됩니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;그 결과,&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;rootVC -&amp;gt; AVC -&amp;gt; BVC -&amp;gt; CBC -&amp;gt; DVC 였다면&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;AVC, BVC, CBC, DVC가 전부 dismiss 되고&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;rootVC -&amp;gt; HomeVC인 상태가 되는 겁니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;제가 원하는 코드가 위의 코드였는데&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;생각보다 머리로 잘 안 그려져서&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;정말 삽질을 많이 했네요...&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;이번 삽질을 통해서&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;presentingVC, presentedVC&lt;/b&gt;에 대한 것도&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;다시 한번 정리해볼 수 있었네요 ㅎㅎ&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;감사합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/iOS</category>
      <category>dismiss</category>
      <category>ios</category>
      <category>Present</category>
      <category>stack</category>
      <category>SWIFT</category>
      <author>DeveloperFury</author>
      <guid isPermaLink="true">https://developer-fury.tistory.com/56</guid>
      <comments>https://developer-fury.tistory.com/56#entry56comment</comments>
      <pubDate>Sun, 12 Jan 2020 11:03:53 +0900</pubDate>
    </item>
  </channel>
</rss>