WWDC 정리/WWDC 2025 정리
[iOS - Swift] WWDC2025 정리 - swift의 새로운 기능 2편 (Subprocess, Foundation, Swift Testing, Swift 6.2)
jake-kim
2025. 6. 25. 01:03
Subprocess
- 말 그대로 프로세스들을 관리해주는 모듈
- import Subprocess를 하고난 후 아래처럼 사용이 가능

Foundation 개선
- NotificationCenter 알림 등록 시 보일러플레이트 제거
- 기존엔 UIResponder 이벤트 등록 시 아래처럼 작성
- addObserver할 땐 forName: UIResponder.keyboardWillShowNotification으로 작성
- startFrame, endFrame을 구할때도 긴 코드가 필요
- 기존엔 UIResponder 이벤트 등록 시 아래처럼 작성

- 변경된 것
- 보일러 플레이트가 많이 줄어들음
- 개선1: addObserver(forName:object:queue:) -> addObserver(of:for:)
- 개선2: userInfo[UIResponder.keyboardFrameBeginUserInfoKey] as? CGRect -> keyboardState.startFrame

Observation
- Swift 6.2부터는 Observable 객체의 상태 변경을 비동기 스트림(AsyncSequence)으로 받을 수 있는 기능을 제공
- 객체의 속성 값이 바뀌는 걸 스트리밍 이벤트처럼 받아볼 수 있음 (원래 @State, @ObservedObject를 썼지만 이제 RxSwift의 subscribe처럼 변경 사항값을 관찰 가능)
- import Observation 사용

- Observations 클로저 안에서 변경사항 값을 관찰

- 여기서 Observations 클로저가 호출되는 타이밍은 변수의 willSet이 호출될 때 클로저가 실행됨

Swift Testing
- Swift 6.2부터는 Testing 라이브러리에서 테스트 결과를 저장할 수 있는 것을 제공 `Attachment.record`

- 특정 케이스에서 테스트를 종료시키고 싶은 경우 사용하는 키워드 `#expect` 새로 제공

* 참고