
어제 WWDC25 발표가 있었는데요,
어제는 다른 개발 안하고 하루 종일 주요 개발 세션들을 간단하게 보았습니다.
https://developer.apple.com/wwdc25/sessions-and-labs/topics
제가 본건 위에서부터 쭉 봤습니다.
관심사만 본거라서 제가 정리한거 외에는 직접 링크를 보고 찾아보시길 바랍니다.
1. 추천 세션
- 이번 핵심은 UX 변화 (리퀴드 글래스 UX)입니다. (체감적으로)
- 그래서 일단 1. 디자인 관련 세션 추천합니다.
- 추가적으로 Foundation Models Framework는 AI 모델 사용에 관심이 있다면 관련 세션은 반드시 보세요.
- 개인개발자나 작은 개발사라면 무료 사용 가능한 AI도구가 생겼으니 안 쓸 수가 없다고 봅니다.
- UIKit / SwiftUI 관련 세션도 추천합니다.
- Instrument에 대한 강화가 주요 세션에 계속 나옵니다. 이것도 추천 드립니다.
정리하면 '디자인', 'Foundation Models Framework', 'UIKit', 'SwiftUI', 'Swift 6.2관련' 추천 드립니다.
- 추천 세션은 각 항목 뒤에
(추천) 이라고 붙여놓았습니다 :)
2. 주요 세션 정리 (본것만)
# Design
-
What’s new in SF Symbols 7
- Draw/Magic Replace 같은 애니메이션이 추가 되었고,
- Gradients 드로우 모드가 추가 됨
- Custom SF Symbol을 만들 때 Draw Animation 설정 방법 같은걸 알려줌
-
Get to know the new design system (추천)
- 새로운 디자인 시스템 (리퀴드 글라스)에 대한 설명
- 곡선 쓰는 법, 패딩 영역, 액션 영역 등에 대한 새로운 접근.
- 새로운 'UX' 제안. 디자인만 바꾼게 아니라 UX 를 바꿨음.
(애플이 제공하는 Navigation Bar / Toolbar 등을 사용하지 않으면 올드한 앱 처럼 보이게 될거 같네요.)
(직접 구현해서는 리퀴드 글라스 타입의 네비게이션을 구현하기는 쉽지 않아 보이네요.)
-
Create icons with Icon Composer
- 앱 아이콘을 만드는 툴 'Icon Composer'
- 새로운 리퀴드 글라스 UI에 어울리는 앱 아이콘을 만들 수 있게 도와 줌.
# Machine Learning & AI
- Meet the Foundation Models framework
(강력추천)
- (참고: https://developer.apple.com/documentation/foundationmodels)
- 내부 모델은 온디바이스의 3b + 2bit 양자화 모델이다.
- 생성, 인앱 유저 가이드, 생성형 퀴즈, 개인화, Classification, 요약,
Semantic seach, 태그 생성, 주제 인식 ... 등등 할 수 있음
- 가이드 기반 생성 - struct 에 가이드와 제약을 걸어서 결과로 받을 수 있다.
- 스냅샷 스트리밍 - Partially 생성된 결과를 스트리밍으로 받아서 사용할 수 있다.
- Tool calling - MapKit 으로부터 장소를 받아오거나, ContactKit에서 연락처를 가져오거나. 해서 사용 가능.
(필요한 경우 Tool call 해서 그 결과를 받아서 모델에서 사용하는 방식)
- Stateful sessions 으로 동작함
- instruction : 모델의 역할을 정의해 줌. 스타일과 길이등 - come from developer, 우선 순위 높음
- prompt - come from developer OR client
- multi-turn interactions 은 같은 세션을 계속 쓰면 됨
# 날씨를 가져오는 모델을 만들 경우
1. 입력한 도시에 대한 gps 좌표를 가져온다. (CLLocation 을 이용한 geocoding)
2. 해당 도시의 현재 날씨를 가져온다. (WeatherKit)
3. 이를 반환한다.
여기까지가 Tool call 기능 활용.
LLM에서는 이 정보를 이용해 결과를 반환해준다.
- 예를 들어 prompt 가 뉴욕의 현재 온도가 추운지 알려줘. 라는 문장이라면
Tool calling 으로 뉴욕의 온도를 반환하면 LLM 에서 해당 온도 정보로 문장을 만들 수 있음.
- Deep dive into the Foundation Models framework
(강력추천)
- 간단한 대화형 게임을 예제로 소개.
- 세션 사용하다가 세션 한도를 넘으면 summry 해서 새로운 세션에 넘겨주는 형태로 구현도 가능
- @Generable / @Guide 작성 방법들 안내.
- Tool call 기능으로 내 연락처에서 정보를 가져와서 캐릭터를 생성하는 식의 사용이 가능
- 외부 정보를 (LLM)모델에 전달할 수 있는 기능
- Tool 은 상태를 저장할 수 있음.
-
Explore prompt design & safety for on-device foundation models (추천)
- On-device language model (요약, 분류, 대화, 글쓰기, 교정, 라벨링)
- (참고: https://developer.apple.com/documentation/foundationmodels/languagemodelsession)
- 온디바이스 3B모델이므로, 한계가 있다. (ChatGPT같은 서버 모델은 100B+ 이상 모델)
- 한계를 잘 알고 사용해야 한다.
(계산 같은거 맡기지 말고, 코드 작성 같은거 맡기지 말라, 최근 세상의 이벤트,
특정 세세한 지식 검증용으로는 한계, 환각도 있음)
- Guided generation에는 적합함
- Prompting Best practices
- 숫자 지정하기 (하나의 문장으로 써줘)
- 스타일 지정해주기, 역할 지정해주기 (너는 여우야, 스타일을 좋아하는 여우이고, 셰익스피어 스타일의 영어를 써)
- 명령형 문장 쓰기, 하나의 구체적인 사항을 요구하고, 요청에 대한 예시를 들어주기.
- 강한 언어를 사용하기 (MUST or DO NOT 같은)
- instruction / prompt 2가지를 전달하는 형태로 구현
- 가드레일이 있음. (입력 전, 출력 후에 안전에 대한 가드레일 있음, 에러 처리됨)
-
Code-along: Bring on-device AI to your app using the Foundation Models framework (추천)
- swift struct 에 @Generable 을 붙여서 Foundation Moels Framework의 결과물로 지정 가능. (출력 형태)
- 해당 struct 의 property 에 @Guide() 를 붙여서 property 별로 prompt 를 지정할 수 있음. (갯수나 명령)
- Prompt engineering
- 예시가 중요하다.
- 예시와 프롬프트, 그리고 출력 struct 타입을 던져서 결과를 받는 형태로 구현
- Tool calling
- map kit 이나 contact 같은걸 연결 할 수 있음
- Tool protocol 을 받아서 구현해주면 됨.
- Xcode 에서 Founation Models framework 의 모델을 선택 / 끄거나 할 수 있음 (테스트 가능)
- Streaming output
- 부분 결과를 이용하도록 구현 가능함.
- 한꺼번에 결과를 보여주는게 느릴 수 있으므로 이렇게 처리
- Profiling : instrument 에서 Foundation Models framework 지원 함
-
Discover machine learning & AI frameworks on Apple platforms
- ML-Powered APIs
- FoundationModels framework (new)
- Vision / Natural Language / Translation / Sound Analysis / Speech 등에 사용
- Document Recognition (new) - 문서에서 이미지, 텍스트 등 찾아주기 (기존 카메라나 사진에서 쓰이던 기능 으로 보임)
- ML Models - mlpackage 뷰어에 Structure 항목 추가 됨.
# Swift
# SwiftUI & UI Frameworks
- What’s new in UIKit
(UIKit사용중이라면 추천)
- @Observable 에 대한 감시를 UIKit 에서 사용 가능해짐. layoutSubviews(), updateProperties()
(UIObservationTrackingEnabled: Yes)
- HDR Color picking 가능.
- What’s new in SwiftUI
(SwiftUI 사용자라면 추천)
- 새 UI 디자인 .glassEffect() 로 리퀴드 글래스 처리 가능.
- SwiftUI performance - 빨라짐!
- 리스트 업데이트 16배 이상 빨라짐. 스크롤도 빨라짐.
- Nested scroll view 도 lazy 로딩이 가능해짐.
- @Animatable macro 추가 됨. (@AnimatableIgnored 도 추가됨)
- WebView 추가
# App Services
#Audio & Video
# 기타
-
Get started with Game Center [Graphics & Games 세션]
- 업적, 리더보드, (챌린지, 활동 - 새로 추가됨)
- GameKit Bundle 이 새로 추가됨. (StoreKit Bundle 같은) 테스트 가능해짐.
-
Finish tasks in the background [System Services 세션]
- Background 진입 해도 계속 동작하는 작업 하나를 만들 수 있게 됐다.
(BGContinuedProcessingTaskRequest)
(동영상 내보내기 같은거, 오래걸리는 작업이 있는 앱 개발자라면 참고)
-
Discover Apple-Hosted Background Assets [System Services 세션]
- new capability to download asset packs of content for games and other applications.
- Managed Background Assets (200기가까지 애플에서 호스팅 가능, 셀프 호스팅도 가능)
- 게임 DLC나 튜토리얼이나, 머신러닝 모델이나 기타 등등에 사용
총평
- 개인적으로는 Founation Models Framework가 이번 세션의 핵심이라고 생각됩니다.(개발자 관점)
- AI 모델 사용의 새로운 방향을 열었고, 어떻게 사용하면 될지 상상이 막 되는 형태라고 해야할까요.
- iOS26이 가을에 나오고, 개발자들이 이를 활용한 새로운 앱을 내기 시작할 때 애플의 AI가 플랫폼으로서의 역할을 잘 해줄거라는 생각이 듭니다.
- (개인적으로는 OS단에서 AI로 뭔가를 해주는것도 좋긴 한데, OS는 어쨌든 플랫폼으로서의 역할을 더 해주길 바라는게 앱 개발자의 마음입니다 ㅎㅎ;)
- 저는 다음 개발자 베타가 나올 때쯤 써볼 예정이네요. (일단 이 재밌는걸로 뭘 만들지 아이디어 정리를 좀 해봐야겠습니다.)
끝.