iOS/Swift 소식을 전해드립니다 💁
레츠스위프트 뉴스레터  제13호 2020년 8월 9일

 님을 위한 iOS / Swift 관련 소식을 모은 뉴스레터가 도착했습니다. 일요일 뉴스레터와 함께해요 👨‍👧‍👦
비가 비가 이렇게 오는 8월이 있었던가요. iOS14와 iPadOS, macOS, watchOS 등 네 번째 베타가 올라왔습니다. 애플 실적 발표도 있고, 어쩌면 마지막 인텔 맥일지도 모르는 아이맥 신형도 발표했습니다. 아이폰 12는 코로나 사태로 발표가 늦어질 꺼 같다는 루머도 있네요 ㅜㅜ 지난 2주 동안 모인 소식들을 전해드립니다. 

누구나 함께하는 뉴스레터 저장소 👉
메일링 리스트 가입은 가입하기 링크 주변에 소개해주세요 🤩
⌘ 애플 소식
지난 7월말 애플 2분기 실적 발표가 있었습니다. 애플 코리아 실적 발표 링크

역시나 애플 걱정은 괜한 걱정인 것 같습니다. 🤷🏻‍♀️
총 매출액 : 596억 달러 (작년 대비 10.9% 증가) / 순수익 : 112억 달러 (작년 12.0% 증가) 
iPhone 매출액 : 264억 달러 (작년 대비 1.7% 증가) 
iPad 매출액 : 65억 달러 (작년 대비 31.0% 증가) 
Mac 매출액 : 70억 달러 (작년 대비 21.6% 증가) 
웨어러블, 홈, 액세서리 매출액 : 64억 달러 (작년 대비 16.7% 증가)  
디지털 컨텐츠 및 서비스, AppleCare, Apple Pay 라이센스, 기타 서비스 매출액 : 131억 달러 

위 사진은 왼쪽부터 필 쉴러, 포니 파델, 조나단 아이브, 스티브 잡스, 스캇 포스탈, 에디 큐가 같이 찍은 사진입니다. 지난주 마켓팅 수석 부사장이었던 필 쉴러가 사임하고 펠로우가 된다는 소식입니다. 이제 애플에 남은 사람은 마지막 에디 큐 뿐이네요. 아이팟을 만들어서 애플을 다시 일으키고 아이폰 신화를 쓴 인물들이 거의 남아 있지 않네요. 확실히 이전 시대가 끝나고 다른 시대가 시작하는 것을 느낄 수 있습니다. 
🇰🇷 국내 소식들
스위프트가 처음 나왔을 때 부터 스위프트 공식 문서를 번역하려는 시도가 있었는데요, 개인 분이 꾸준히 업데이트해주고 계시네요. 멋지세요!  예전 이 문서와 함께 개발자 레퍼런스를 애플에 공식적으로 번역해달라고 요청한 적이 있었는데요, 너무 자주 바뀌다보니 번역이 의미가 없다는 답변을 받았었죠. 

소중한꿈 블로그에 또 다들 소식이 있었네요. SwiftUI 기반으로 MVVM 아키텍처를 설명하는 자료입니다. 원래 만들어진 MS 닷넷 기반으로 되어 있는 위키 문서를 SwiftUI 기반으로 다시 설명해주는 글입니다. 

믿고 보는 민소네님 블로그에 새로운 글이 올라왔습니다. 지난 뉴스레터 발송하고 올라와서 이제야 담았습니다 ㅎㅎ 라이브러리 만드는 경험을 깔끔하게 정리해주셨습니다. 
그리고 또 다른 주제가 하나 더 올라왔네요. 의존성을 프로토콜 형태로 주입할 때 속성에 접근하는 방법을 dynamicMemberLookup의 KeyPath로 접근하는 방밥을 소개하고 있습니다.  Ribs 요소 중에 하나로 설명하고 계시지만 일반적인 경우에도 활용할 수 있을 것 같습니다. 의존성 주입과 관련해서 Property Wrapper를 활용하는 방식(해외 자료)도 같이 보시면 도움이 될 것 같습니다.

[corn님 블로그] GeometryReader in SwiftUI
올해부터 SwiftUI 자료가 더 풍부하게 많아지고 있네요. UIKit과 다르게 뷰 객체에 직접 접근해서 위치나 크기를 읽거나 변경하기 위해 GeometryReader를 활용하는 방법을 설명하고 있습니다. 베터프로그래밍에 올라온 matchGeometryEffect로 애니메이션 효과주기 글도 함께 읽어보시면 도움이 될 것 같습니다.

macOS 유산이기도 하고, 앱 내부가 아니라 설정 앱에서 앱의 설정을 바꿀 수 있는 Setting Bundle을 설정하는 방법을 소개하고 있습니다. Setting Bundle 이 UserDefaults를 공유하기 때문에 요즘은 설정 앱에서 보다는 앱 내부에서 UserDefaults로 직접 설정값을 바꾸는 방식이 많은 것 같기는 합니다. 
✈️ 해외 소식들

[해외 블로그] 스위프트에서 Unsafe 메모리 다루기
WWDC 2020에서 강조한 내용 중에 하나가 Unsafe 포인터를 다루는 방식입니다. 점차 스위프트 수준에서 포인터를 직접 다루는 경우가 많아지면서 가이드라인을 제시하기 위한 것 같습니다. 특히 저수준 라이브러리를 만드는 오브젝티브-C나 C 개발자들에게 스위프트로 라이브러리 쓰면 이런걸 고려해야해...라고 말하는 것처럼 느꼈습니다. 블로그는 요약 버전이라 좀 더 관심있는 분들은 WWDC 자료도 함께 보시면 좋을 것 같습니다. 

플레이그라운드에서 간단하게 키-프레임 애니메이션을 구현해보는 방법을 소개하고 있습니다.

아주 친절하지는 않지만 간단하게 설명하고 있습니다. 스토리보드나 Xib에서 속성을 연결할 때마다 경우에 따라 strong 또는 weak로 연결됩니다. 그 차이가 궁금하셨다면 읽어세요. 중요한 것은 Xcode가 추천하는 것을 그대로 쓰기보다는 개발자가 의도하는 것을 선택해야 하는 것 같습니다.

AVFoundation을 써서 실시간 이미지 프로세싱을 하기 위한 준비 단계를 설명하고 있습니다. 이미지 버퍼를 받아오는 정도까지만 설명하고 있어서 처음 해보시는 분들에게는 도움이 될 것 같습니다. 버퍼를 가져와서 OpenCV를 붙이거나 이미지 처리 라이브러리를 붙이면 됩니다.

스위프트UI로 만드는 경우에 일반적인 네트워크 계층을 어떻게 만들어야 할 지 설명하고 있습니다. 한 가지 방법만 있는 건 아니지만, 다양한 사례가 많아지만 최적의 방법을 찾아갈 수 있겠죠

비전 프레임워크를 활용하면 빠르고 쉽게 이미지 처리를 할 수 있는데요, 새로워진 비전 프레임워크 기능들을 설명해주는 글입니다. 

스위프트로 구현하는 거대하고 복잡한 구조를 나눌 때 사용하는 콤포지트 패턴에 대한 글입니다. 짧지만 핵심적인 내용을 포괄하고 있습니다. 
✈️ 기타

iOS 나 iPadOS 개발자들에게는 편하고, 베터리 성능 향상도 기대할 수 있겠지만, 웹이나 인텔 리눅스 서버 개발자들에게 과연 도움이 될까 우려하는 글입니다. 어쩌면 애플이 애플 생태계 외부에 있는 개발자들을 잃어버리지 않을까 이야기 하고 있습니다. 도커나 서버 배포를 위해 타킷 빌드를 해야하는 경우 불편하거나 느려질 수 있을 것 같은데 (큰 회사는 배포서버가 따로 있으니 괜찮을 것 같기도 하고...) 과연 어떻게 될까요? 

[국내 소식] 레츠스위프트는 어떻게 되냐고 물어보시는 분들이 계신데 아무것도 못하고 있죠 ㅎㅎ 대신 8월 15일 광복절에 렛어스고 여름 이벤트로 라이브 스트리밍을 한다고 하네요! 하반기에 또 무언가 재밌는 이벤트가 있기를 기대해봅니다. 
📲회사에서 iOS 개발자들에게 홍보하고 싶은 내용이 있으신가요? 
news@letswift.kr 로 언제든지 문의해주세요. 
레츠스위프트 뉴스레터
http://letswift.kr
수신거부 Unsubscribe