iOS/Swift 소식을 전해드립니다 💁
레츠스위프트 뉴스레터  제109호 2024년 8월 25일
뜨거운 여름밤을 뜨겁게 채워줄 iOS / Swift 관련 소식을 모은 뉴스레터가 도착했습니다. 입추가 지나더니 너무나 뜨거웠던 2024년 여름도 조금은 누그러진 것 같네요. 9월달 새로운 아이폰을 기대하는 애플 이벤트 루머가 나오고 있습니다. M4 맥도 업데이트된다고 하고 가장 얇은 아이폰이 나올 꺼 같고 에어팟도 새로운 모델을 기대하고 있습니다. 풍성한 가을 이벤트가 되기 전에 소식들을 살펴보시죠.

매월 둘째, 넷째주 일요일에 뉴스레터를 발행하고 있습니다. 
누구나 함께하는 뉴스레터 저장소 👉 만약 링크가 깨지는 경우는 저장소 이슈에서 확인하실 수 있습니다.
메일링 리스트 가입은 >가입하기 링크< 주변에 소개해주세요 🤩
주제/분류별 소식들
국/해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다.
# 애플

> NFC & SE API로 비접촉 트랜잭션 처리에 대한 애플의 공식적인 소식입니다. 한국도 iOS 에서 NFC 기능을 활성화에 도움이 되지 않을까 싶네요 NFC & SE Platform for Secure Contactless Transactions - Support - Apple Developer

> 스위프트 포럼의 글 중에 골라봤습니다. Language Mode를 지원하는 컴파일러 컨디션을 제안합니다. 아직 채택되지 않았고 10여일 동안 논의를 계속하고 있습니다만 흥미로운 시도인 것 같네요. 스위프트 6부터 스위프트 컴파일러 환경도 좀 달라졌는데요 저도 다시 빌드를 해봐야겠습니다 [Pitch] Language Mode Compiler Condition - Evolution / Pitches - Swift Forums

# 하드웨어

> 새로운 루머에 의하면 키보드에 컴퓨터를 넣어버린 애플 특허를 바탕으로 새로운 키보드형 맥이 나오는 것인가 이야기합니다. 라즈베리파이 400 키보드 같은 느낌일까요? Apple Wants To Squeeze A Computer Into Something | by Tom Smykowski

> 애플이 언제쯤 폴더블 접는 아이폰을 판매할까요. 내부적으로 실험은 했을텐데 워낙 보수적이기도 해서 앞으로 2년 정도를 예상하고 있네요. 만약 접는 아이폰이 나온다면 관심있으신가요? Apple’s foldable future: Why Apple needs an iPhone Fold | by Lewis J Doyle

> TimePod Mini 라는 새로운 개념의 제품을 상상해서 소개합니다. 과연 애플이 NAS 형태 타임캡슐 만들어 줄려나요 HomePod + Time Capsule = | by Carl St. James

> M4 맥에 대한 루머가 나오면서 한껏 기대치가 올라가는 요즘입니다. M4 아이패드에 이어서 9월에 M4 맥이 나오면 내년쯤에는 써볼 수 있을까요 M4 Macs Are Coming Soon, but I Still Bought a New M3 MacBook | by Michael Swengel

> M3도 못 봤는데 M4 맥이 나오려나 봅니다. 인텔 맥과는 다르게 M1 이후라면 여전히 꼭 바꿔야 하는 이유는 없는 수준이죠. 그냥 새 모델이 갖고 싶은 건 아닐까요 ㅎㅎ The M4 Macs are Coming and You Shouldn’t Buy One | Mac O

> 이번 M4 맥 루머에서 가장 관심을 받는 것은 새로운 형태로 나올 수 있다는 맥 미니에 대한 것입니다. 애플TV 처럼 작아진 맥 미니 만나볼 수 있을까요 The New Mac Mini M4: Apple’s Smallest Desktop Ever | by Juan Cienfuegos

> 아이픈 17 루머가 나오면서 폴더블 아이폰이 나오기 전에 슬림한 아이폰이 나온다는 루머가 있습니다. 성능과 함께 폼펙터 변화가 기대되는 새 아이폰이네요. 아참 한국도 올해부터는 1차 출시국이 되는걸까요 ㅎㅎ The Thinnest iPhone Ever — Absolutely Stunning! | by Jacky

> 맥 루머에 이어서 아이폰 SE 4에 대한 루머도 있네요. SE가 과연 4까지 나올 수 있을까요. 안그래도 아이폰 모델이 너무 많아서 촘촘하게 나눠지는 데 말이죠 Why the iPhone SE 4 Might Just Be Apple’s Most Exciting Release in Years | by Juan Cienfuegos


# 일반

> 💎 주변에 ARC 브라우저 쓰는 분들이 몇 명씩 생기고 있습니다. 뭔가 어색하면서도 흥미로운 기능들이 있네요. 브라우저도 새로운 형태로 바뀔 시점이 되어가는 것 같습니다 How the Arc Browser changed the way I surf on Mac | by Aditya Darekar

> 💎 FreeForm 앱으로 플래너 만들어서 사용하는 방식이라고 합니다. 흥미로운 내용이라 가져왔습니다 Create Your Own Easy-to-Use Year Planner in 15 Minutes Using FreeForm | by Will J Murphy

> 마이크로 LED 기반으로 애플 워치를 만들려다가 포기한다는 소식에 대한 의견입니다. OLED에 집중하는 것일까요. 그럼에도 불구하고 미니 LED나 마이크로 LED 디스플레이에게 또 다른 기회가 있을꺼라고 이야기하네요 Apple Announces: Canceled! | by Jacky

> 애플이 DMCA 디지털 저작권법 조항을 활용해서 애플 기기와 생태계를 폐쇄적으로 운영하면서 앱 스토어를 여전히 독점하는 것을 비판하는 글입니다. 자유로운 시장과 기업들의 시장이 항상 비교되고 비판꺼리가 되는 것 같네요 Apple vs the “free market” | by Cory Doctorow

> 익스트림하고 하드코어한 프로그래밍 문화가 점점 사라져가고 일과 삶의 균형을 중요하게 생각하는 개발자들이 점점 많아지고 있다고 소개합니다 Hard Core Programming is Dead | by The Secret Developer

> 미국에서 소규모 IT 조차도 채용 과정에서 짧은 시간에 과제를 주고 애매하게 평가하는 공감되지 않는 채용 절차 방식에 대해 비판합니다. 미국 뿐만 아니라 여기저기 조급하게 지원하고 조급하게 채용하는 문화가 많아지는 것 같아 아쉽네요 Have IT Companies Lost Their Minds? | by Aleena

> 인디 독립 개발자라면 프로젝트 관리 흐름을 어떻게 하는게 좋을까요? 사례를 구경해보세요 Project Management Flow for Indies | Swiftjective-C

> PM 들이 사용자 인터뷰를 하거나 의견을 수집하는 대신에 작업 항목을 상세하게 작성하거나 시간을 투자해서 버그를 고치거나 성능을 개선하는 게 더 낫다고 비판합니다. 자칫 위험할 수 있는 논리인데 UI 연구 자체가 나쁘다기 보다는 전문적으로 설계해서 수집해고 분석해야 한다는 점을 강조하는 것 같습니다 Steve Jobs Hated User Research. Here’s Why I Agree With Him. | by Dr. Derek Austin

> 맥 오에스 세콰이아에 대한 새 기능과 기대되는 부분을 설명합니다. 이번 베타들 안정적이고 쓸만해서 기대가 됩니다 The New macOS Sequoia copied Windows 11. | Mac O

> 애플이 아이패드에 맥 오에스를 넣지 않을 것이라고 확신하는 이유를 설명합니다. 저도 굳이 넣을 필요가 없이 두 플랫폼 모두 하드웨어를 판매하면서 시장을 유지하는 게 더 중요한 플랫폼이 아닌가 싶네요 The Real Reason Apple Will Never Put macOS on the iPad (Like Ever) | by Jano le Roux

> 옵시디안 보다 더 편리한 메모 도구를 추천합니다. 그 중에서도 Constella 라는 앱은 안 써봤는데 한 번 써보고 싶네요 These Tools Are Much Better Than Obsidian | by TJ Sharma

> 3개월 정도 지난 글인데요 닌텐도 에뮬레이터를 만드는 개발자의 이야기입니다. 80-90년대 레트로 장비들을 지금은 아주 쉽게 복원하거나 에뮬레이트할 수 있는데요. 그 또한 새로운 의미가 있는 것 같습니다 Why I Wrote A Nintendo Emulator | by Himal Mandalia


# 스위프트

> 흔히 레거시 코드는 버리고 다시 개발해야 하는 것을 당연하게 생각하기도 합니다. 그럼에도 기존 코드를 유지하면서 개선해야 할 때는 어떻게 해야할까요. 여러 기준이 있겠지만 함수를 유지하면서 컴파일러를 활용해서 다이어그램을 그리거나 명확하게 이해하고 경고와 오류를 줄여가면서 개선하라고 조언합니다 Transform Legacy Swift Code. Tips And Tricks | by Steven Curtis

> Swift 6의 또 다른 변화 중에 하나는 throw 할 때 에러 타입을 지정해서 비정상적인 코드 흐름에서도 예외처리를 좀 더 명확하게 다룰 수 있다는 것입니다. Typed throws in Swift | Swift with Majid

> indirect 열거형으로 재귀적인 데이터 구조를 다루는 방식에 대해 설명합니다 Understanding Indirect Enums in Swift | by Steven Curtis

> Recursive enums in Swift


# AI / ML

> iOS에 이어서 macOS에서도 애플 인텔리전스 기능을 써먹을 수 있습니다. 한글로 메일이 오거나 문자가 와도 영어로 요약을 해주고 알려주기는 하더군요. 어떤 식으로 동작하고 프롬프르를 사용하는 것인가 예상해보고 있습니다 Powering Apple Intelligence | by Nikhil Vemu

# 뷰 프로그래밍 : SwiftUI

> 글에서 이야기하는 모던하고 현대적인 iOS 개발이 무엇인가 동의하기는 어렵네요. SwiftUI로도 앱을 만드는 데 부족함이 없다는 데는 어느 정도 동의합니다. 올해부터 본격적으로 SwiftUI를 보조 화면이 아니라 메인 화면에서 쓰는 곳이 많아진 것 같습니다 (Thoughts on) The Modern iOS Development. 2024 Revision | by Nikita Lazarev-Zubov

> 매크로를 적극 사용하고 계신하요. 저는 아직 조심스럽게 쓰고 있긴 합니다. @Entry 매크로로 환경 값을 다루는 방식에 대해 설명합니다. @Entry macro: Creating custom environment values in SwiftUI

> SwiftUI 관점에서 의존성 주입에 대한 글들이 늘어나는 게 보이네요. SwiftUI가 더 구조적인 설계와 의존성 관리가 잘 되어야 한다고 생각하는 데 더 다양한 이야기가 공유되면 좋겠습니다 Dependency Injection in SwiftUI is Even Cooler Than You Think | by David Doswell

> 메모리 누수를 점검하기 위한 MemoryLeakDetector 를 만들어서 어떻게 참조하느냐 방식에 따라 누수 케이스를 알려주는 글입니다. Detecting Memory Leaks in SwiftUI | by Rohit Saini

> 여전히 SwiftUI 내비게이션은 고민스러운 부분이죠. UIKit과 내비게이션을 합쳐서 사용하는 방법을 많이들 쓰시더군요 How to Perfectly Merge SwiftUI and UIKit Navigation: A Step-by-Step Guide | by Bevan christian

> 코디네이터 패턴으로 SwiftUI로 구현한 5개 페이지를 내비게이션 하는 방식에 대해 골고루 설명합니다 Mastering Navigation in SwiftUI Using Coordinator Pattern | by Diki Dwi Diro

> SwiftUI 캔버스 애니메이션 예제인데 재밌는 게 많네요. 저도 언제 한 번 해봐야겠어요 ㅎㅎ SwiftUI Animated Canvas. Let’s become better together | by gloomikon

> 거의 모든 형태로 프로그레스 뷰를 바꾸는 코드를 하나씩 보여주는 글입니다. 이 분 글도 자주 공유되는 것 같네요 ㅎㅎ SwiftUI: Customize ProgressView | by Itsuki

> Building an Analog Clock in SwiftUI: A Step-by-Step Guide | by Rohit Saini

> Creating a Custom Share Extension Bottom Sheet for iOS: Inspired by Telegram | by Yana Sychevska

> Customizing windows in SwiftUI | Swift with Majid


# 프레임워크

> 💎 패스키를 활용하고 계신가요? 2FA 강제되는 곳이 많아지면서 일부는 패스키로 로그인하고 있는데 편하더군요. 앱에서 패스키를 지원하려면 준비할 것들을 소개해줍니다 How to Enable Passkeys on iOS

> 💎 네트워크 요청을 보내고 이미지를 받아서 뷰에 업데이트하는 흐름을 다양한 사례로 설명해주는 글입니다. 동시성 관점에서 고민을 잘 풀어서 설명해줍니다 Concurrency Step-by-Step: A Network Request | massicotte.org

> SwiftCloud라는 단일 패키지 형태 스위프트 앱을 배포해서 서버로 동작하는 서비스를 소개합니다. AWS 람다에 도커 컨테이너 기반으로 배포할 수 있다고 하네요 An Initial Hands-On with SwiftCloud @ SwiftToolkit.dev

> 애플이 NFC 기반 결제를 막고 있었는데 호주와 뉴질랜드, 브라질, 캐나다, 일본, 영국과 미국에서부터 NFC 결제를 허용하는 API를 열어준다고 합니다. 한국은 빠져있지만 곧 티머니를 사용할 수 있는 날이 가까워지고 있는 것 같습니다 Apple Finally Opens NFC, But It Comes at a Price | by Jacky

> 어느 순간 이제는 JSON 형태 데이터를 처리하는 게 너무 당연한 시대를 보내고 있습니다. (물론 아쉬운 부분들이 좀 있지만) 스위프트도 쉽게 구조화해서 대응할 수 있죠 JSON Parsing in Swift explained with code examples - SwiftLee

# 맥 개발/AppKit

> 2024년 현재 시점을 기준으로 개발 환경이 변화해서 SwiftUI 앱을 개발할 때 활용할 수 있는 것을 모두 설명합니다. 심지어 베타를 기준으로 설명해서 또 다른 느낌이네요 SwiftUI for Mac 2024 :: TrozWare


# 서버 사이드

> 저도 가끔 람다에서 실행할 스위프트 패키지 앱을 사용해서 서버로 활용하고 있는데요. 패키지 초기화부터 람다 런타임에 핸들러를 구현해서 배포하는 것까지 차근차근 설명합니다 Developer guide to Swift AWS Lambdas

# 개발 환경

> 새로운 스타일의 패키지 관리 도구로 nix를 소개합니다. 배우기 어렵고 커뮤니티 활성화가 안되서 아직은 brew를 대체하기는 쉽지 않을 것 같지만 살펴볼만 한 것 같습니다 Brew no more | Medium

> 40개 이상 언어 번역해서 관리할 수 있는 관리 서비스 사이트입니다 String Catalog: Localize your App in up to 40 Languages

> 신형 아이폰에 최신 iOS일수록 탈옥하기가 점점 어려워지고 있는데요, 구형 기기를 탈옥해서 리버스 엔지니어링을 시도한 사례를 공유합니다 iOS App Reverse Engineering | by Que Posa

# 도구/오픈소스 

> Swift 6에 대비해서 오픈 소스 패키지를 다양한 운영체제에 맞춰서 동작하도록 개선한 사례를 설명합니다 Migrating KeyboardKit to Swift 6 language mode

> String Catalog를 GPT를 이용해서 번역해서 다국어 버전을 만들 수 있도록 도와주는 오픈 소스 명령이라고 합니다 SwiftTranslate – Swift Package Index

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