iOS/Swift 소식을 전해드립니다 💁
레츠스위프트 뉴스레터  제88호 2023년 10월 8일
가을 하늘 높고 야외에서 따뜻한 차 한 잔 마시고 싶은 시즌이네요. 새로 나온 아이폰 15 프로 맥스와 함께하면 딱 일것 같습니다 ㅎㅎ 그 사이에 아이폰 예약이 시작됐고 한국도 이번주 금요일부터 본격적인 후기가 올라오겠네요. 그 전까지 iOS / Swift 관련 소식을 모은 뉴스레터 소식들 확인해보시죠 :) 
아참 공교롭게도 아이폰 15 국내 출시되는 13일 금요일에 레츠스위프트 컨퍼런스도 진행됩니다. 지난주에 취소표가 몇 장 올라왔던데 못 구하신 분들은 확인해보셔도 좋을 것 같습니다. 곧 꼼꼼한 애플의 리뷰가 끝나면 공식 앱도 업데이트될 예정입니다. 조금만 기다려주세요!
매월 둘째, 넷째주 일요일에 뉴스레터를 발행하고 있습니다. 
누구나 함께하는 뉴스레터 저장소 👉 만약 링크가 깨지는 경우는 저장소 이슈에서 확인하실 수 있습니다.
메일링 리스트 가입은 >가입하기 링크< 주변에 소개해주세요 🤩

주제/분류별 소식들
국/해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다.
# 애플

> 애플 전문가들과 만나서 세션도 듣고 랩도 하는 시간이 열렸습니다. 한국 담당자분들도 세션을 하고 일부 인원은 1:1 컨설팅도 가능하다고 합니다 Meet with Apple Experts - Apple Developer

> SF 심볼즈 5가 업데이트됐습니다. 새로운 심볼이 추가됐고 애니메이션 이나 모션이 쉬워졌다고 합니다. SF Symbols - Apple Developer

# 하드웨어

> 아이폰 15 AP A17에 적용된 3nm 공정으로 M3가 나오지 않을까 기대하는 글입니다. 개인적으로는 아이패드 11인치가 M3 + miniLED로 나오길 기대하고 있습니다 Apple’s M3 Chip Is Coming!. The MOST Important Apple Chip EVER! | by Youssef Mohamed

> 지난주에 가장 뜨거운 주제(?)였던 아이폰 15 프로 맥스 발열 문제에 대한 글입니다. 뭐 특별한 결론이 있는 건 아니고 쓸사람은 잘 쓸꺼다. 그런 결론이네요 ㅎㅎ Does the iPhone 15 Pro Max Heat Up? | by Mark Ellis

> 새 폰과 워치를 사용한 경험담이라서 구경했습니다. 유투버들의 자극적인 리뷰보다는 담담한 평가입니다. 그나저나 이번 우븐 케이스는 다들 평가가 안 좋네요 ㅜㅜ One Week Impressions with the iPhone 15 Pro and the Apple Watch Series 9 | by Warner Crocker

> SoC 온칩에 AV1에서 비디오 코덱 하드웨어 가속을 지원한다고 하네요. 앞으로 점점 더 성능이 좋아지겠죠? Why Apple Adding AV1 Support Is A Big Deal | by Andrew Zuo

> 또 다른 아이폰 15 프로에 대한 발열과 내구성에 대한 글입니다. Why Are There So Many Issues With the iPhone 15 Pro | by The Useful Tech


# 일반

> 맥오에스 소노마에 추가된 새 기능들에 대한 글입니다. 웹 앱이나 사파리 프로파일 기능은 당장 쓸모가 있을 것 같네요 9 macOS Sonoma Features You Should Actually Care About | by The Useful Tech

> CRDT 라는 데이터 처리 단위로 분산 상태들 관리하는 개념을 소개하는 글입니다. An Interactive Intro to CRDTs | jakelazaroff.com

> iOS 17에 포함된 소소하지만 쓸모있는 기능들 모음 팁입니다 Change These 12 iOS 17 Settings Right Now For a Superior Experience | by Nikhil Vemu

> 유니티 라이센스 정책 변화로 개발자 커뮤니티 쪽이 엄청 시끄럽습니다. 단지 돈 문제가 아니라 신뢰의 문제로 넘어가서 다른 엔진으로 넘어가는 개발자들이 많네요 Goodbye, Unity. | by Mina Pêcheux

> 엔지니어링 매니지먼트 관점에서 감정을 어떻게 다스릴 수 있나 설명하는 글입니다 The Role of Emotional Intelligence in Engineering Management | Phil Yates

> 파이썬 코드지만 일반적인 관점에서 리팩터링을 해야 하는 기준을 세우는 데 도움이 될 것 같습니다 When to refactor your code? | by Rob van der Leek

> 17.1 베타에 포함된 내용들을 소개합니다 iOS 17.1 Beta 1 Released — What’s New? (14 New Features!) | by Nikhil Vemu


# 스위프트

> 💎 스위프트 5.9에 추가된 파라미터 팩 활용에 대해 다양하고 상세한 설명입니다. 역시 추천할 만한 하네요 Value and Type parameter packs in Swift explained with examples

> 💎 꽤 상세한 콤바인 프레임워크에 대한 설명입니다 Mastering Combine: A Comprehensive Guide for iOS Developers | by ElAmir Mansour

> 💎 제가 읽은 async/await 관련 글 중에서 가장 깊이가 있네요. 제 갖고 있던 심증(?)을 코드 수준에서 증명해줘서 이해하기 쉬웠습니다만 전체적으로 읽기 어려울 수 있습니다. 한 가지 확실한 건 async/await가 간편하지만 모든 문제를 해결해주지는 않습니다. 이와 관련된 글을 써봐야겠네요. How async/await works internally in Swift

> async/await 방식으로 actor로 분리된 경계에서 데이터를 전달하고 싶을 때 고민을 설명합니다. Sendable 타입과 non-sendable 타입을 구분해서 고민해볼 필요가 있겠네요 Crossing the Boundary | massicotte.org

> ARC 브라우저를 만드는 브라우저 컴파니에 소속 Saleem 이라는 개발자가 스위프트 윈도우 포팅에 기여를 많이 하고 있습니다. ARC를 만들면서 경험 중에 일부 스위프트를 (엑티브엑스 기반 기술이었던) COM과 연결해서 API 연동한 내용입니다. Interoperability: Swift’s Super Power

> @Observed 매크로에 대한 간단한 소개글입니다 Observed macro | by Sasha Myshkina

> 스위프트 5.9에 추가된 파라미터 팩 기능을 활용하는 사례입니다. 다양한 사례들이 나올꺼 같네요 Swift Parameter Packs · paul-samuels.com

> func callCat() throws CatError -> Cat 이런 식으로 예외 타입을 명시해서 throw할 수 있는 기능이 머지됐다고 하네요 Typed throws by DougGregor · Pull Request #68629 · apple/swift


# 설계 구조 : 패턴

> 2017년 글입니다만 Presentation 역할이 왜 필요한가 설명하는 부분은 꼭 한 번 읽어볼 만 합니다 The Presentation Model | by Ben Sandofsky

> 2018년 글입니다만 에러를 전달하는 구조에 대해 설명하는 글이라서 골라봤습니다 Top-down iOS error architecture. How to handle errors in iOS apps | by Bartosz Polaczyk


# 뷰 프로그래밍 : SwiftUI

> 다양한 메뉴 표시 방식에 대한 설명입니다 Creating A SwiftUI menu: A Complete Guide | Stackademic

> CloudKit 서비스로 아이클라우드 서버에 키-값을 저장하는 방법에 대한 설명입니다 Sync Data by NSUbiquitousKeyValueStore in SwiftUI | ITNEXT

> SwiftData 관련 글이 점점 많아지고 있네요. 코어 데이터와 비교해서 데이터 모델링 원칙이 무엇일까 설명하고 있습니다 Unveiling the Data Modeling Principle of SwiftData | Better Programming

> Exploring the onChange Modifier in SwiftUI | by Inyene Etoedia

> Split your data easily and efficiently with .chunked() | Danijela

> SwiftData by Example: iOS 17 & SwiftUI 5 — Part 5 | by DevTechie

> The curious case of ShareLink with plain text strings — Dean’s blog

> Understanding the Composable Architecture for SwiftUI Projects | by Lorrayne Paraiso

# 뷰 프로그래밍 : UIKit

> 새로 추가된 라이프사이클 메소드 UIKit View Lifecycle - viewIsAppearing

# 프레임워크
다양한 프레임워크를 다루는 예제를 소개하는 글들입니다. 

> 문자열을 URL로 바꿀 때 개선된 사항을 설명해줍니다. URLComponents 파싱에서 살짝 귀찮았던 부분이 옵션으로 추가됐네요 Changes to URL string parsing in iOS 17 – Augmented Code

> 국내에서는 앱 클립이 많이 활성화되지는 않은 것 같습니다만 간단한 방식이 더 자주 보면 좋겠습니다 How to create an App Clip for your app

> 앱 클립을 활용해서 MusicKit으로 음악 요청까지 시도해보고 있네요. MusicKit and App Clips

> 여러분들은 iOS 최소 버전을 어떻게 정하고 계신가요? 써보고 싶은 기능을 넣고 싶을 때. 특정 버전을 버려도 될 때. 정답은 없지만 남들은 어떻게 하나 궁금한 것 같네요 Picking your minimum iOS version to support - SwiftLee

> StableDiffusion 모델을 앱에서 직접 활용할 수 있도록 연결하는 방법을 소개합니다. API로 사용할 수 있는 방식들과 직접 모델을 로딩하는 방식을 비교해서 살펴보시면 좋겠네요 Stable Diffusion with CoreML using the HuggingFace model for iOS, iPadOS, and macOS | by Yeskendir Salgara

> Multipart Request with URLSession and async/await in Swift | by AsyncLearn


# VisionOS

> 애플에서 비전오에스 전용 샘플을 공개했습니다. 3차원에서 워터슬라이드를 타는 앱을 구현하네요 Swift Splash | Apple Developer Documentation

# 개발 환경

> 🇰🇷 29cm iOS 개발팀에서 피처 플래그와 마이크로 PR 로 하는 배포 관리에 대해 소개해주셨습니다. Trunk-based development, Feature Flag, micro PR 와 함께 주 2회 배포하기 | 29CM TEAM

> 유료 앱입니다만 아이폰 화면을 맥과 보여주는 앱 - 베젤입니다 Bezel • Show your iPhone on your Mac

> 공식 블로그에 올라온 스위프트 관련 디버깅 개선 사항입니다. Swift.org - Debugging Improvements in Swift 5.9

> 엑스코드 브레이크포인트와 관련된 이런저런 팁들입니다 Xcode Breakpoints 101 | Stackademic

# 도구/오픈소스 

> CoreData 모델을 마치 SwiftData 처럼 다둘 수 있도록 매크로를 활용하는 오픈 소스 프로젝트 ManagedModels에 대한 소개라고 봐도 될 것 같네요 @Model for CoreData – Helge Heß – Software engineer.

> 엑스코드 빌드 시스템에서 생길 수 있는 문제를 미리 분석하는 도구 XCBuildAnalyzer를 만들고 활용하는 방법에 대한 소개입니다 Inspecting Xcode’s build system graph at ease | by Bartosz Polaczyk | XCBuildAnalyzer 저장소 polac24/XCBuildAnalyzer: SwiftUI application to analyze Xcode build system graph (Experimental)


# 디자인 
📲회사에서 iOS 개발자들에게 홍보하고 싶은 내용이 있으신가요? 
news@letswift.kr 로 언제든지 문의해주세요. 
레츠스위프트 뉴스레터
http://letswift.kr
수신거부 Unsubscribe