iOS/Swift 소식을 전해드립니다 💁 레츠스위프트 뉴스레터 제15호 2020년 9월 13일 님을 위한 iOS / Swift 관련 소식을 모은 뉴스레터가 도착했습니다. 일요일 뉴스레터와 함께해요 👨👧👦 다들 건강하게 잘 지내시나요? 요즘처럼 안녕을 물어보는 것이 당연한 시기가 또 있었을까 싶네요. 다음주에 드디어 애플 이벤트가 있다고 합니다. 아이폰12를 기다리고 있는데 언제 나올지 궁금하네요. iOS14와 iPadOS, macOS, watchOS 등 일곱 번째 베타까지 나왔습니다. 그동안 소식들을 합쳐서 전해드립니다. 앞으로는 매월 둘째, 넷째주 일요일에 뉴스레터를 발행할 예정입니다. ⌘ 애플 소식 9월 15일에 애플 이벤트가 확정되었습니다. 과연 어떤 제품을 공개할까요? 루머에 의하면 아이폰12가 아니라 새로운 워치와 아이패드가 아닐까 추측하고 있습니다. 하지만 2시간이나 되기 때문에 글래스 같은 새로운 디바이스가 나오는 게 아니냐고 기대하고 있습니다. Hero 이미지를 맥에서 누를 수 없지만, iOS 디바이스에서는 이미지를 터치하면 AR 모드로 바뀝니다. 참고로 이미지 파일은 .usdz 파일로 Universal Scene Description 에셋입니다. 기존에 증강현실 샘플들은 USD 갤러리에서 같이 한 번 살펴보세요. 지나가는 소식으로 국내 이동통신 3사가 애플에 대해 공정위에 낸 거래상지위남용 관련 동의의결안을 마련했다는 뉴스가 있었습니다. 소비자 후생제고와 중소사업자 상생을 지원하기 위한 펀드가 마련된다고 합니다. 어떤식으로 쓰여질지 궁금하네요. 🇰🇷 국내 소식들 민소네님 회사 프로젝트가 워낙 거대해서(?) 모듈화에 관심이 많으신가 봅니다. 블로그에 계속해서 패키지 생성과 모듈을 분리해서 빌드하고 자동화하는 과정을 정리해주고 계시네요. 이번에는 rpath와 관련해서 링크할 특정한 다이나믹 프레임워크 경로를 변경하는 방법을 정리해주셨습니다. Xcode 12와 Swift 5.3부턴 SPM 패키지 내부에 리소스를 담는게 가능해졌습니다. SwiftUI로 만든 뷰 코드도 추가해서 패키지로 만들수 있는거죠. 특히 Xcode 12부터는 SwiftUI로 멀티 플랫폼 앱으로 만들 수 있도록 확장하고 있습니다. 패키지를 만들면서 생기는 문제들을 해결하는 방법을 소개해주셨습니다. ✈️ 해외 소식들 이번 호부터는 해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다. # 뷰프로그래밍 : 세이프 영역 세이프 영역까지 꽉채우고, 회전해도 제대로 보이는 커스텀 뷰를 만드는 과정을 설명합니다. # 뷰프로그래밍 : 응답 체인 응답 체인을 따라서 이벤트 처리를 하는 방법을 소개합니다. 응답 체인으로 이벤트가 전달되는 과정을 본 적이 없다면 읽어보시길 권해드립니다. # 테스트 : 인스트루먼츠 ARC를 사용하면 어느 시점에 메모리가 해제되는 지 명확하게 유추하기 어렵거나, 일정 시간동안 객체가 사라지지 않는 것을 찾기가 쉽지 않습니다. 인스트루먼츠를 활용해서 메모리 누수를 찾는 방법을 정리해줬네요. # 테스트 : 단위 테스트 단위 테스트를 어디부서 시작해야 하는지 기본적인 내용을 소개하고 있습니다. 단위 테스트를 하려면 가짜로 동작하는 테스트 더블 객체들이 필요하죠. Stub과 Mock 객체를 활용해서 단위 테스트하는 방법을 알려줍니다. # 설계 구조 : 의존성 여전히 의존성 관련 내용은 매주 새로운 글이 나오는 것 같네요. 의존성 주입하는 방법들을 비교적 상세하게 소개하는 글과 함수형 프로그래밍으로 고차 함수 의존성을 전달하는 방법을 설명하는 글이 눈에 띕니다. # 설계 구조 : 패턴 스위프트 UI가 반응형 RVVM 구조와 어떻게 비슷하고 다른지 비교하는 글입니다. 콤바인과 RxSwift를 비교했던 것처럼 흥미로운 비교네요. # 설계 구조 : 모듈화 iOS 모듈이 무엇인지부터 모듈로 나눠서 패키지를 만들 때 선택지까지 설명하는 글입니다. iOS 모듈화 가이드 # 프레임워크 : 키체인 # 프레임워크 : AVFoundation 비디오 다운로드와 캐싱하기 # 프레임워크 : SQLite 페이스북 메신저 앱을 SQLite로 성능 개선한 사례가 있었죠. 프로젝트 라이트스피드라고 부른 이 프로젝트에서 영감을 받아서 SQLite에 화면 단위로 나누는 실험을 해본 내용입니다. 코드양도 줄어들고 역할 분담이 잘되는 것 같은가요? 궁금하면 읽어보세요 :) # 프레임워크 : 콤바인 베터프로그래밍에 올라온 콤바인 관련 내용들입니다. 점점 자료가 많아지니까 네트워크 요청 다루는 방법으로 사례가 많아질 것 같습니다. 콤바인으로 여러 조회 API 호출하기 # 프레임워크 : 애플로그인 다행히 아직까지는 강력하게 강제하지 않고 있지는 않지만 이제 필수가 될 것 같네요. # 프레임워크 : GCD 다음 두 가지 내용은 DispatchQueue를 이외에 활용하기 좋은 예제가 될 겁니다. # 프레임워크 : SwiftUI SwiftUI로 간단하게 스네이크 게임을 만드는 과정을 설명합니다. 재밌네요 또 다른 예제는 아답터 패턴을 SwiftUI로 구현하기입니다. 다양한 사례가 많아지고 있네요. # 개발환경 : 도구 Xcode 12 새로운 기능을 소개하고, Xcode에서 길을 잃어버리지 않도록 도와줍니다. 유용한 CLI 터미널 도구를 소개하는 글도 있습니다. # 개발환경 : 도구 Xcode 12 새로운 기능을 소개하고, Xcode에서 길을 잃어버리지 않도록 도와줍니다. 유용한 CLI 터미널 도구를 소개하는 글도 있습니다. # 배포 : 슬랙, 자동화 조금 특이한 주제네요. 슬랙 명령 하나로 앱 배포하기 📲회사에서 iOS 개발자들에게 홍보하고 싶은 내용이 있으신가요? news@letswift.kr 로 언제든지 문의해주세요. |