티스토리 뷰

출처 : Apple 공식 홈페이지

현지 시각으로 6월 6일 10시, WWDC 2022가 키노트 발표와 함께 시작되었다.

M2 칩을 탑재한 Macbook Air와 MacBook Pro 13이 출시됐고 iOS 16, iPadOS 16, macOS Ventura 그리고 watchOS9도 새롭게 선보였다.

 

출처 : Apple 공식 홈페이지

M1이 나온지 얼마나 됬다고 M2라니.... 이번 M2는 GPU 성능 향상에 초점을 둔 것 같다. CPU 성능은 M1 대비 18%증가했다고 한다. 사실 M1이 워낙 강력한 칩이라 짧은 시간 안에 이 정도도 대단하다.

M2와 iOS 업데이트 관련 내용은 애플 공식 홈페이지와 키노트에서 확인할 수 있다.

키노트 발표 보러가기

 

 

사실 작년에 앱 개발 공부를 시작하기 전만 해도 WWDC는 새로운 iOS를 업데이트 하는 날인 줄만 알았다. 그러다 가끔 신제품도 같이 나오는 설레는 날이였다. (이번에도 M2 맥북에어가 나올까 기대했다)

개발자로써 공부를 시작하고나니 WWDC가 애플 개발자에게는 가장 큰 연례행사라는 것을 알게되었다. 앱에 사용할 수 있는 새로운 기술을 확인하는 빅 이벤트였다. 애플 개발자인데 WWDC 내용을 모르면 좋은 개발자라고 할 수 없다.

 

 

출처 : Apple Developer

오늘은 1일차이기 때문에 아직 영상은 나오지 않았다. (현지 시각 7 ~ 10일에 공개가 된다)

그렇기 때문에 하나를 자세히 다루기 보다는 전체적으로 업데이트되고 추가된 내용이 뭔지 살펴보려고 한다.

 

설명에 달린 초록색 글씨는 개인 의견(=주석) 입니다.

 

 

 

새로운 SDK 알아보기

XCode 14

Apple 개발자라면 미우나 고우나 함께 해야하는 XCode

 

 

가볍고 빨라진 XCode

이전보다 바이너리가 30% 줄어들었고, 향상된 병렬 처리로 인해 최대 25% 빌드 타임이 빨라졌다.

새로운 빌드 타임라인을 통해 오래 실행되는 빌드 작업과 병목 현상을 식별할 수 있다.

출처 : Apple Developer

 

 

SwiftUI 캔버스 업데이트

출처 : Apple Developer

이제는 버튼 하나로 preview에서 라이트 모드와 다크 모드를 확인할 수 있다. 이전에는 prview 구조체 안에 코드를 일일이 적어 줬어야 됬는데 더 편하게 수정되었다.

 

Xcode 내부에서도 Testflight 를 실행할 수 있게 되었다.

 

 

 

SwiftUI

최신 그래픽 효과와 API들이 추가되었다. 

출처 : Apple Developer

 

 

네비게이션 API

이제 네비게이션(Navigation) 동작을 제어할 수 있다.

 

고급 레이아웃 제어 

기존의 VStack과 HStack 외에도 새로운 수평(horizontally), 수직(vertically) 정렬이 추가되었다. Low-Level 수준의 커스텀 레이아웃 API도 추가되었다. 이를 통해 재사용 가능한 레이아웃을 구축한다. 

 

macOS에서의 향상

macOS에서 화면을 더 다채롭게 볼 수 있다.

window를 화면으로 해석했는데 아마 기기 화면 같다. 앞서 말한 것처럼 라이트모드, 다크모드 동시지원과 관련된 내용 같다. 자세한 내용은 영상을 봐야 확인할 수 있을 것 같다.

 

UIKit와 상호 운용성(=interoperability) 향상

이제 SwiftUI를 통해 UICollectionView cells 를 쉽게 작성할 수 있다. 이 cell들은 UIKit와 완벽히 상호작용한다. 

 

Swift 차트

SwiftUI에서 차트 기능을 지원해준다. VoiceOver도 지원한다. (VoiceOver는 스크린 리더 도구이다)

 

추가 컴포넌트 지원

Half Sheet와 Share Extensions을 활용한 sheet 공유처럼 더 많은 UI 컴포넌트들을 추가한다.

자세한 내용은 영상을 봐야겠으나 위 이미지에 보이는 Resizable Sheets와 Toolbar등이 해당하는 것 같다.

 

새로운 공유 API

새로운 Transferable 프로토콜을 통해 클립보드, 드래그 앤 드롭, share sheet에서 데이터를 사용할 수 있다.

 

잠금화면 위젯

SwiftUI를 통해 잠금화면 위젯을 만들 수 있다.

iOS 16에서 잠금화면이 대대적으로 업데이트 되었다. 이제 잠금화면을 사용자가 원하는대로 다양하게 설정할 수 있는데 이를 지원하기 위한 기능으로 보인다.

 

 

 

Swift

Swift 5.7이 업데이트 되었다.

출처 : Swift 공식 문서

 

 

Sendable 타입 추가

acotrs 와 task 사이에서 데이터를 주고 받기 위한 타입이다.

작년(Swift 5.5)부터 Concurrency(동시성)과 관련된 기능을 꾸준히 추가하고 있는 Swift 이다. 올해도 Concurrency 코드가 추가되었는데 앱 성능을 증가를 위해 꾸준히 업데이트 될 것으로 보인다.

 

 

정규식 표현 리터럴(Regular Expression Literals) 추가

정규식 표현 리터럴과 관련된 설명이 추가되었다.  Regular Expression Literals 확인하기 

 

 

옵셔널 바인딩의 짧은 형식 추가

if let myNumber {
    print("My number is \(myNumber)")
}
// Prints "My number is 123"

더 짧게 옵셔널 바인딩 작성이 가능해졌다.

 

 

Checking API Availability 에 #unavailable 설명 추가

if #available(iOS 10, *) {
} else {
    // Fallback code
}

if #unavailable(iOS 10) {
    // Fallback code
}

이제 사용할 수 없는 OS를 특정함으로써 더 가독성 있는 코드 작성이 가능해졌다.

 

추가적으로 Swift 패키지가 더 안전하고 확장가능해졌다. Secure and extensible

 

 

 

WidgetKit

WidgetKit를 사용해 애플워치와 아이폰 잠금화면 위젯을 만들 수 있다. 기존에 복잡했던 ClockKit 에서 벗어나 더 쉽게 워치페이스를 만들 수 있다.

 

 

 

App Intents

작업 수행을 빠르게 도와주는 새로운 프레임워크. 음성, 탭과 같이 사용자 액션에 따라 Shortcut을 설정할 수 있게 해준다. 앱과 Siri의 연동성을 늘려준다.

 

 

 

WeatherKit

날씨 API. 현재 날씨, 10일 동안 1시간 단위 예보, 예상 강수량, 풍랑 보고서, 자외선 지수 등을 사용할 수 있다.

 

 

 

Maps

출처 : Apple Developer

Map이 새로워진다. 3D 를 활용해 더 입체적으로 데이터를 볼 수 있다.

API가 네트워크 호출을 줄이고 전력 효율성을 높여, 전반적인 성능을 증가시킨다.

 

 

Metal3

애플 실리콘에서 그래픽 작업을 더 수월하게 해준다. 고해상도 그래픽을 더 짧은 시간에 렌더링하며, 빠른 리소스 로드, 머신 러닝 트레이닝 등을 수행한다.

 

Metal은 애플이 개발한 그래픽 API이다. GPU를 사용해 그래픽 작업 및 머신런닝을 수행하는 프로그램이다.

이번에 나온 Metal3는 애플 실리콘에 최적화되어 나온 것 같다. Metal을 사용해 본 적이 없어 잘 모르므로 공식 홈페이지랑 나무위키 링크를 남긴다.

Metal 공식 홈페이지

Metal 나무위키 바로가기 

 

 

 

Augmented reality - ARKit 6

ARKit6 에서부터 4K 비디오를 지원한다. 이를 통해 비디오 편집, 영화, SNS 앱에서 고해상도 AR 경험을 할 수 있다. 몬트리올, 시드니, 싱가폴, 도쿄 등 새로운 도시에 대한 Location Anchors 도 추가 되었다. 

 

작년에 ARKit 5에서는 Location Anchors에 보스턴, 휴스턴과 같은 미국 대도시와 런던 등이 추가 되었다. 올해는 전세계로 그 영역을 넓혔다. 그래서 한국은 언제 해줘....

Location Achros 지원 도시 보기

 

 

 

Machine learning

강력해진 Core ML

코드 없이 Mac 또는 iOS 기기에서 Core ML 모델에 대한 성능 보고서를 생성할 수 있다.

코어 ML 프레임워크는 이제 Float16 입력 및 출력 기능 유형을 지원한다.

 

Create ML App & Framework

Create ML 앱을 통해 사용자의 모델 정확성을 학습한다. 프레임 워크를 통해 iOS, iPadOS, macOS, tvOS 에서 Swift 프레임워크로 사용할 수 있다.

 

 

 

SharePlay

앱에서 SharePlay 환경을 설계하고 구축한다.

 

 

출처 : Apple Newsroom

SharePlay는 iOS 15 에서 추가된 기능으로써 FaceTime 중에 화면과 소리를 공유하는 기능이다. (이런 좋은 기능을 몰랐네..) 어떻게 SharePlay를 내 앱에 구축하는지 확인하는 시간이 될 것 같다. 

 

 

 

Shared with You

Shared with You 프레임와크와 Collaboration API를 사용해 앱에서 Shared With You를 지원한다. 다른 사용자와 공유를 더 쉽게 해준다.

 

 

 

Continuity Camera

출처 : Apple Developer

이제 아이폰 카메라를 맥 카메라로 사용할 수 있게 해준다.

 

 

 

Passkeys

Passkeys를 통해 빠르고 쉬운 로그인 환경을 만들고 강력한 보안을 제공한다.

출처 : Apple Developer

애플은 암호 저장을 해준다. 이를 통해 FaceID나 TouchID로 손쉽게 다른 사이트로 로그인이 가능하다. 이를 지원해주는 기능을 설명해 줄 것으로 보인다.

 

 

 

In-app purchase

새로운 API와 향상된 기능으로 인 앱 구매 경험을 개선한다. 크게 3가지만 꼽자면 아래와 같다.

  • StoreKit 2에 새로운 API가 추가되었다.
  • 인 앱 구매에 대한 테스팅이 향상되었다.
  • App Analytics의 벤치마크를 사용해 앱 성능을 테스트 하고 앱 스토어의 유사한 앱과 비교할 수 있다.

 

전세계적으로 인 앱 결제 강제를 문제로 보고있다. 애플이 인 앱 결제 관련해서 강력한 기능을 제공함으로써 개발자가 어쩔 수 없이 사용하게 하려는 전략으로 보인다. "인 앱 결제 안해도 돼. 근데 우리 꺼 안 쓸거야?" 이런 느낌이다. 후에  미국에서 법이 생기고 인 앱 결제를 강제할 수 없게되어도 경험과 성능으로 압도하겠다는 것이 애플답다.

 

 

 

Wallet and Apple Pay

Wallet에 운전면허증 및 신분증을 보관할 수 있습니다.

Apple Pay Later를 통해 6주 동안 4번 나눠서 납부할 수 있습니다.

애플 페이는 이제 비접촉식 결제를 지원합니다.

Payment Request API를 통해 자동/반복 결제 환경을 미세 조정할 수 있습니다.

 

한국에서도 Wallet과 페이가 사용화되는 날이 오기를 기다리며....

 

 

 

CarPlay

CarPlay 가 더 강력해집니다. 

 

애플에서 자동차 네비게이션에 미러링을 지원해주는 앱이다. 안 사용해봐서 잘 모르는데 업데이트 된 것 같다. 계기판에도  맵을 지원해준다는데, 영상을 확인해봐야 정확히 알 수 있을 것 같다.

 

 

 

Desktop-class iPad apps

iPad에서 강력하고 복잡한 워크플로우를 사용할 수 있습니다. 멀티 태스킹, 사용자 지정 워크플로우 등을 지원합니다.

 

 

 

Mac Catalyst

iOS 앱을 macOS 에서 사용할 수 있도록 전환해준다. 

 

 

 

Focus filter API

사용자가 선택한 포커스를 기준으로, 앱 내에서 관련된 내용만을 보여줍니다.

 

글만 봐서는 이해가 안 될 수 있는데 키노트를 보면 이해가 한 번에 된다. 키노트 Focus 부분 바로 보기

앱 내에서 Focus Filter를 설정하는 API로 보면 될 것 같다.

 

 

 

Game Center

게임센터의 대시보드가 새롭게 바뀌었습니다. 

 

 

 

App Clips

앱 클립이 최대 15MB 까지 가능하며 공용 CloudKit에 있는 데이터를 불러옵니다. 키체인에 저장된 항목이 앱이 설치되면 자동으로 앱으로 이동합니다.

 

 

출처 : Apple Developer

앱 클립은 앱을 설치하기전에 사용할 수 있는 체험판 앱이다. 앱 클립 용량이 늘고 연동성을 증가시켜 더 많은 사용자와 개발자 가 앱 클립을 사용하도록 유도하고 있다.

 

 

 

Accessibility

접근 가능한 Single App Mode 경험을 생성하고 Unity 게임에 엑세스 권한을 추가합니다.

 

 

 

ShazamKit

ShazamKit을 통해 앱에서 오디오 인식 기능을 사용합니다. 오디오 서명을 만들어 오디오와 동기화된 환경을 쉽게 구축할 수 있습니다.

 

ShazamKit은 WWDC 2021에서 공개된 오디오 인식 키트이다. 이번에 오디오 서명 기능 등 새로운 기능이 추가된 것 같다.

 

 

 

Live Text API

사진과 일시 정지된 비디오에서 텍스트를 가져올 수 있습니다.

 

출처 : Apple WWDC 2022 Keynote

이제 사진과 비디오에서 텍스트를 뽑아낼 수 있다.Translate Camera 앱도 제공해준다고 한다. 개발자들도 API를 사용해 앱에 기능을 도입할 수 있다. 이제 구글 번역, 파파고, 애플 번역 3대 경쟁의 시대가 왔다.

키노트에서는 사진에서 객체를 분리(포토샵 누끼 따끼)하는 Visual Look Up 기능도 소개되었으나 따로 개발자를 위한 API는 준비된 것 같지 않다.

 

 

 

tvOS enhancements

애플 장치 간 연동.

다중 사용자 지원

SwitUI를 통한 tvOS 앱 사용자 설정(custom) 가능 

 

 

 

Business and education

조직에서 Apple ID 용 로그인을 지원합니다. 교육용 앱에서 RestAPI를 통해 학생 및 학급 정보를 가져오는 걸 간소화합니다.

 

 

 

Web Push in Safari

macOS 13의 safari 에서 웹 사이트나 웹 앱을 사용하는 사용자에게 알림을 보냅니다. Safari가 실행되지 않고 있어도 가능합니다.

 

 

 

내용 및 앱 아이콘 이미지 출처 : Apple developer

 

 

 

WWDC 2022에서 추가된 SDK 들에 대해 알아보았다. 

간단하게 훑었는데 이 정도라니....

새롭고 신기한 기능들이 되게 많은데 XCode, SwiftUI, Swift 에 대해서 우선적으로 공부해야겠다.

우선 다음 주가 시험이라 급한 불부터 꺼야겠다...

 

 

 

긴 글 읽어주셔서 감사합니다 😁

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함