iOS/Swift 소식을 전해드립니다 💁
레츠스위프트 뉴스레터  제105호 2024년 6월 23일
풍성한 iOS / Swift 관련 소식을 모은 뉴스레터가 도착했습니다. WWDC 24 기간이 포함되어 있다보니 세션 비디오나 WWDC 관련 내용이 절반 정도가 되는 것 같습니다. 지난주에 이미 특집으로 나갔기 때문에 완전히 새롭기보다는 전세계 개발자들이 관심있어 하는 주제가 어떤 것인가 분위기를 알 수 있는 것 같습니다. 저도 iOS 18 베타는 아직 설치해보지 못했지만 7월에는 용기(?)를 내어볼까 합니다 ㅎㅎ 
매월 둘째, 넷째주 일요일에 뉴스레터를 발행하고 있습니다. 
누구나 함께하는 뉴스레터 저장소 👉 만약 링크가 깨지는 경우는 저장소 이슈에서 확인하실 수 있습니다.
메일링 리스트 가입은 >가입하기 링크< 주변에 소개해주세요 🤩
개발자 생태계 설문조사 참여해주세요 🙏
우리가 일하는 생태계 변화가 궁금하지 않으신가요? (아직 3년전 통계 숫자에 비해 부족합니다)
여전히 나홀로 개발자가 거의 1/3을 차지하고 있고, 조금씩 팀 규모도 늘어난 것을 알 수 있습니다
딱 질문 12개 뿐입니다. 그렇지만 우리가 어떤 환경에서 누구랑 어떻게 살아가는지 살펴보고 싶습니다. 아직 응답수가 부족합니다. 3년전 통계 모수 300명을 넘기고 싶습니다. 설문 참여해주시고 공유도 부탁드립니다 :) 
주제/분류별 소식들
국/해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다.
# 애플

> WWDC 24 세션 주제와 샘플 코드, HIG에서 새로운 점까지 요약된 내용을 정리해준 공식 문서입니다 (올해 문서와 자료 정리 칭찬합시다) WWDC24 | Apple Developer Documentation

# 하드웨어

> 에어팟으로 음악을 듣거나 통화하는 것 이외에 도움이 되는 부가 기능들을 소개하는 글입니다. You Are Seriously Underutilizing Your Costly AirPods | by The Useful Tech


# 일반

> 💎 macOS를 기준으로 애플이 가진 단순함의 미학과 철학이 오히려 사용자를 불편하게 하고 어렵게 하는게 아닌가 반문합니다. 파일을 옮길 때 cut + paste가 안되거나 파일을 지울 때도 Delete가 아니라 Cmd + Delete를 누르는 게 불편하다고 말합니다. 그렇게 느낄 수 있을 것 같습니다. 사용자가 쉽게 실수할 수 있는 것을 막아서 생기는 불편함과 다른 플랫폼에서 이미 익숙하기 때문에 불편한 것이 섞여있는 것 같네요 The Paradox of Apple Simplicity | by Jbkendrick

> 💎 깃헙 마크다운에서 Mermaid를 지원한지도 2년이 지났습니다. 이제 마크다운 내에서 Mermaid 문법으로 다이어그램을 그리는 방식이 꽤 보편화된 것 같습니다. 13가지 도표 예시를 보여줍니다 Introduction to Mermaid graphs in Markdown | by Zolzaya Luvsandorj

> 💎 WWDC24에서 공개된 베타에 포함된 새로운 프레임워크 AccessorySetupKit, ContactProvider, Core HID, LockedCameraCapture, Synchronization, TabletopKit에 대해 정리한 글입니다. 일부는 Private 였던 것을 공개한 것으로 보입니다 All new frameworks presented at WWDC24

> 💎 키노트에서 설명하지 않았던 iOS 18 기능들을 소개합니다. 베터리 충전 수준 정하는 것이나 리마인더 항목이 캘린더에 보이는 거 좋아보입니다. 다중 언어 키보드 기능도 의외로 잘 된다고 하더군요 18 Hidden iOS 18 Features Apple Did Not Reveal To Us | by The Useful Tech

> 💎 글에 언급된 것처럼 정확히 EU 때문인지 iOS에서 에뮬레이터에 대한 제한이 풀려서 다양한 에뮬레이터가 앱 스토어에 올라오고 있습니다. Delta, PPSSPP, ScummVM, Retroarch 무료/유료 다양합니다 A Guide to Emulation on iOS | by Carl St. James

> WWDC 요약 글 중에 하나로 운영체제별로 정리된 글입니다. A Short Recap of WWDC’24: The Interesting Stuff You Will Actually Be Using! | by Aditya Darekar

> 통신망에 접속할 수 없는 음역지역에서 긴급 상황에서 위성으로 메시지를 보내는 기능이 가장 혁신적이라고 이야기합니다. 북미와 호주, 유럽 국가 일부가 지원된다고 하네요 Apple Just Silently Launched A Mind-blowing Feature And Nobody Is Talking About It | by Jano le Roux

> 베타 iOS 18과 iPadOS 18에서 화면 변화를 중심으로 설명합니다. 꽤 분량이 많지만 어떤 부분이 바뀐 것인지 이해하기 쉬운 편입니다 Beta Testing iOS 18 and iPadOS 18 on Mid-Age Devices: The Cosmetic Changes, App Updates & What’s Missing | by Aditya Darekar

> 맥 오에스 세콰이아 인상적인 부분과 실망스러운 부분을 설명합니다. 아이폰 미러링 기대되던데 베타1에 없어서 아직 못 해봤습니다 First Impressions of macOS Sequoia: Both Impressive and Disappointing | by Jacky

> WWDC24 세션 중에 SwiftUI에서 새로워진 부분만 정리한 글이네요 Highlights from WWDC 2024: What’s New in SwiftUI | by Shubhransh Gupta

> 별도 APFS 볼륨에 macOS 베타를 설치하는 방법을 설명하는 간단한 글입니다 Installing macOS Sequoia Beta in a Separate APFS Volume - Adrian's Corner

> 국내에도 번역된 켄트 벡의 신작 'Tidy First?'에 대한 독후감(?) 글이네요. 저는 아직 못 읽어봤는데 역자가 아는 분이라 얼른 읽어봐야겠습니다 My Take on Kent Beck’s ‘Tidy First?’ | by Juntao Qiu

> 와 iOS 18에 포함될 72가지 기능들을 하나씩 설명합니다. 이렇게 새 기능이 많다니 정신없네요 The 72 Features Of Apple’s iOS 18 Update You NEED To Try! | by Nikhil Vemu

> 작년부터 애플 DR 직원들이 Developer 사이트와 앱 개선 방향에 대해 인터뷰도 하고 고민도 많이 했었습니다. 그 결과 올해 자료가 다양하고 풍성한 것 같네요. 그 중에서도 개발자 커뮤니티와 소통해서 이런 사이트를 운영하는 게 좋아보입니다 WWDC Notes | Documentation

> 새로운 맥 오에스 세콰이아에 대한 정리 글입니다. 출시 예정인 게임 타이틀에 WoW도 있네요 What’s New in macOS Sequoia | by Akash More

> macOS Sequoia를 설치하면 기존 Xcode 15는 실행이 안된다고 표시가 됩니다만 명령창에서 우회해서 실행할 수 있긴 합니다. Xcode 16/macOS Sequoia Warning | by Michael Long

> 10 Unique macOS Apps You Can Actually Use Every Day | by The Useful Tech


# 스위프트

> Swift 6 부터 컴파일 시점에 데이터 레이스를 방지하려고 경고와 에러를 표시합니다. 스위프트 패키지 중에서 데이터 레이스 관련 에러가 전혀 없는 패키지에 대한 변화를 설명합니다. Ready for Swift 6 – Swift Package Index

> WWDC24에서 Swift 6로 기존 프로젝트와 패키지를 마이그레이션하라고 권장합니다. 마이그레이션을 위해서 어떤 것을 준비해야 하는가 설명합니다 Swift 6: Incrementally migrate your Xcode projects and packages - SwiftLee

> 깃헙에 기존 apple 기관 아래 다른 프로젝트들과 섞여있던 스위프트 관련 저장소들이 swiftlang 이라는 기관 아래로 옮겨졌습니다 Swift.org - New GitHub Organization for the Swift Project

> 올해도 미국으로 가서 현지에서 이런저런 소식을 전해주던 폴 허드슨 개발자가 정리한 Swift 6의 변화에 대한 글입니다. 중간에 어떤 제안으로 구현이 된 것인지 구분해서 설명해주는 게 좋네요 What's new in Swift 6.0? – Hacking with Swift

# AI / ML

> LLM 모델 인프라 관점에서 부가적인 정보를 전달해야 답변 품질이 좋아진다고 합니다. 개인 정보나 내부 데이터를 제공할 때 고민스러운 부분이죠. 이번에 나올 Apple Intelligence에서도 각자 디바이스 상에 있는 앱 데이터도 RAG라고 볼 수 있을 것 같네요 4 Strategies to Optimize Retrieval-Augmented Generation (RAG) | by Carlos Jose Garces Rodrigues

> WWDC 발표한 내용들 기능보다는 개인적인 소감이 정리된 글입니다 AI Stands For Apple Intelligence — Notes From WWDC 2024 | by Attila Vágó

> PCC 내용에 대해 조금더 분석해서 설명해주는 글입니다. 특히 아래에 불완전한 부분을 지적하는 부분이 인상적이네요 Analysis of Apple’s New AI Private Compute Cloud | by Patrick Walsh

> Apple Intelligence가 어떻게 동작하는가 OpenELM이나 Ferret-UI 모델과 LoRA 튜닝 기법으로 분야별로 특화된 아답터로 동작하는 것을 설명하는 게 인상적이네요. How does Apple Intelligence Really Work? | Medium

> 시리가 성인이 되었다고 말하며 애플 인텔리전스에 대해 설명합니다. 개인적으로 이번 시리의 앱 인텐트 통합은 내 폰 내에서 앱별로 흩어진 데이터를 통합하는 중요한 변화라고 생각합니다 Intelligently Apple | by David Lewis

> 깃헙 코파일럿이 단지 코드만 만들어주는 게 아니라 의도에 따라 여러 가지 선택지가 있습니다. 대화로 할수도 있고 테스트를 작성하거나 코드를 주고 언어를 바꿀 수도 있죠. 써볼수록 유료로 쓸만한 도구라고 생각합니다 Top 10 GitHub Copilot Features | by Gapur Kassym

> 애플과 OpenAI가 왜 협력해야 하고, 애플에 도전적인 부분이 무엇인지 짚어주는 꽤 긴 글입니다. 애플이 쉽게 돈벌기 어려운 시점에서 AI 기술과 통합이 스마트폰을 더 업그레이드 시켜줄 것이라는 데 저도 동의합니다 Why Is Apple’s AI Seeking Help from OpenAI? | by Jacky


# 설계 구조 : 패턴

> 내용은 MVVM-C 구조로 모듈화시켜 구현하는 예제 코드가 있고 구조적인 설명이 자세하지는 않습니다. 구조라는 게 의사결정 과정에서 결정된 결론이라고 봐야 하는데 그런 맥락이 빠져있어서 아쉽습니다 SwiftUI, MVVM-C, Modularisation and Dependency Injection | by Serhan Khan

> 처음에는 스위프트 언어쪽으로 분류했다가 구조쪽으로 옮겼습니다. "선언적 도메인 패러다임"이라는 방식을 주장합니다. 유즈 케이스를 Request와 Response를 포함하는 프로토콜로 선언하는 부분이 인상적이고 Quick으로 BDD 테스트하는 부분도 참고할 만 합니다 The Declarative Domain Paradigm in Swift | by Manuel Meyer


# 뷰 프로그래밍 : SwiftUI

> 드디어 Scroll Offset이 생겼다고 합니다 Mastering ScrollView in SwiftUI. Scroll Offset | Swift with Majid

> SwiftUI로 뷰를 구현하더라도 어딘가 클래스 인스턴스가 만들어지고 참조가 되면 메모리 누수가 발생할 가능성이 여전히 있습니다. 그와 관련된 간단한 글입니다 Reducing memory leaks in SwiftUI when using StateObject and NavigationView | by Josué Quiño

> 지도앱에서 위치 공유를 위한 공유 익스텐션을 만드는 방법에 대해 설명합니다. SwiftUI 내용이라기 보다는 연결시키는 코드가 더 많기는 합니다 Share Extension with Apple/Google Maps in SwiftUI | by Marwa Diab

> 리모트 근무하는 직원과 온사이트 근무하는 직원이 사용할 수 있는 근태 관리 앱을 만드는 과정을 설명하고 있네요. 나름 재미있게 읽었습니다 SwiftUI + Rust: An Office Attendance Calendar/Scheduling App (Project) | by Itsuki

> 근태 관리 앱을 만들면서 NFC 태그를 읽어서 처리하는 기능과 관련된 내용을 설명합니다. 같이 읽어도 좋고 따로 읽어도 좋을 것 같네요 SwiftUI: Read/Write NFC Tags with Custom JSON Payload | by Itsuki

> 저는 이번 사진 앱에 적용된 것을 보니 탭뷰와 사이드바 방식이 UIKit 경험을 이어주면서 SwiftUI 스타일로 넘어갈 수 있는 좋은 선택지라고 생각합니다. 새로운 탭뷰에 대한 이야기입니다 Using iOS 18’s new TabView with a sidebar – Donny Wals

> WWDC24에서 소개된 SwiftUI에서 새로워진 점을 정리한 글입니다 What is new in SwiftUI after WWDC 24 | Swift with Majid

> SwiftUI Hero Animations with NavigationTransition | Peter Friese's Blog

# 뷰 프로그래밍 : UIKit

> iOS 18에서 바뀐 UIKit 관련 내용들입니다. UIUpdateLink 라는 새로운 클래스도 눈에 띄네요 iOS 18: Notable UIKit Additions | Swiftjective-C

# 프레임워크

> 심볼 애니메이션 효과가 아주 간편하고 좋아졌네요 Enhanced replace transition for SF Symbols in iOS 18

# VisionOS

> 확실히 비전 프로와 비전 오에스는 이번 WWDC에서 주연 배우는 아니었죠. 그럼에도 의미있는 두 가지를 찾아서 설명합니다. 한국은 이번 출시 일정에서 빠졌지만 베타에 한국어가 포함된 것을 보면 곧 판매할 것 같습니다 The Tepid visionOS 2 Update Has Two Big Saviours | by Mark Ellis


# 개발 환경

> Xcode 16에서는 @Previewable 매크로로 원하는 속성만 미리보기를 쉽게 만들 수 있습니다. macOS 14+, iOS 17+ 이상이라 살짝 아쉽기는 하네요 @Previewable: Dynamic SwiftUI Previews Made Easy

> 앱 스토어 API를 사용해서 메타 데이터 설정부터 테스트 플라이트 관리하고 리뷰 과정을 모니터링할 수도 있는 도구입니다. 유료 도구라서 월 $4.99 - 년 49.99 비용이 필요합니다 Helm for App Store Connect: Make shipping apps fun.

> Xcode 16에서 새로운 점을 소개하는 글입니다. 영상 요약한 글이지만 훓어보기 나쁘지 않네요 What’s New in Xcode 16 | by Yagnikbavishi

# 테스트

> 💎 드디어 기존 XCTest보다 쓸만한 테스트 도구가 생긴 것 같습니다. 모든 테스트를 대체하지는 못하더라도 단위 테스트만큼은 생산성을 높일 수 있을 것 같습니다 Getting started with Swift Testing

> 위에 글과 더불어 같이 읽으면 좋은 글이네요. 단위 테스트 코드를 중심으로 설명해줍니다 Hello Swift Testing, Goodbye XCTest | by Leo

> Swift Testing에 대한 공식 문서입니다. 이전에도 포럼에 올라왔을 때 봤던 Pitch 글을 정리한 것으로 보입니다. 무엇보다 여러 플랫폼을 지원하는 오픈소스 프로젝트라는 게 가장 마음에 드네요 swift-testing · swiftlang/swift-evolution

# 도구/오픈소스 

> 이미지를 흐릿하게 블러 효과를 주는 것 뿐만 아니라 해시 문자열로 바꿔서 표현할 수 있는 뷰를 다루는 오픈소스 프로젝트입니다. 저는 이 기능이 키노트에 좀 들어갔으면 좋겠네요 BlurHashViews – Swift Package Index


# 디자인 

> iOS 18부터는 다크 모드에서 실행할 때 보여줄 컬러값만 지정하는 게 아니라 다크 모드에서 보여지는 앱 아이콘을 바꿀 수 있다고 합니다. 애플의 다크한 아이콘을 보고 있으면 내가 알던 앱이 맞나 싶기도 하네요 Dark Mode App Icons

> Elegant and Interactive Mobile UI Design Examples | TMDesign

> High-quality and Minimalist UI Design Ideas | TMDesign

> Intentional and Modern User Interface Design Ideas | TMDesign

> Professional and Seamless App Designs | TMDesign

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