빙수왕의 개발일지

WWDC 2022 - Platforms State of the Union 본문

개발/iOS

WWDC 2022 - Platforms State of the Union

빙수킹 2022. 6. 30. 10:11

작년 내용

Swift Playground 4

  • 앱 개발 & 앱스토어 등록하는 기능
  • SwiftUI 지원

Xcode Cloud

  • 지속적 통합 & 배포
  • 오늘부터 이용 가능
  • 가격 23년 말까지 무료 (디벨로퍼 프로그램)

오늘의 주제 요약

  • Vision for Platform
  • System Experience
  • New APIs

Wrap-up 주요 키워드

  • Xcode Cloud
  • Swift & SwiftUI
  • 잠금화면 위젯, Live Activities
  • Messages Collaboration
  • App Intents - 시리와 우리앱을 통합해줌
  • 새로운 API들이 생겼고
  • 기존 API 업데이트 - WeatherKit, MapKit, Live Text, Metal

1. Vision for (developer) Platform

프로그래밍 언어 + 프레임웤 + 개발자 도구 삼위일체 필요하다

Swift + SwiftUI + XCode Previews

1-1. Swift의 새로운 점

Concurrency

작년에 Concurrency가 도입됐다. Async Sequences도 선보였다.

Async Algorithms

Actor

async/await 을 이용해 액터 사이의 통신을 할 수 있다.

Distrubuted Actor

복수의 프로세스나 장치에서 통신 가능하다.

vs 맥 내의 다른 프로세스, vs 다른 기기 사이의 P2P접속, vs 서버상의 백엔드…

액터는 Race Condition에서 값을 보호하는걸 도와주고

Distributed 액터는 외부에서 접근하는걸 돕는다.

문자열 정규표현식 개선

새로운 리터럴

 

Regex Builders

윗부분을 코드로 변경 가능.

Generic

some 키워드

before

after

any 키워드 - 다양한 형식

 

Swift Package Manager

Package Plugin 추가 - 얘도 패키지임

앱 빌드를 돕는다.

우리가 직접 커맨드를 Swift로 작성한다.

  1. 직접 실행해 사용하는 명령어 플러그인
  2. 프로젝트 빌드 떄 작동하는 빌드 플러그인

ex) 이걸 만들고 실행시키면 내가 원하는 린트룰같은걸 자동으로 따르게 변경해준다. import 짧 → 긴 순으로 정렬

실제 플러그인 만들고 실행하는법 - 우클릭해서 실행

그 외 Swift 성능개선

빌드속도 2배증가

Concurrency도 좋아졌다.

iOS16에서 Swift 코드로 작성된 앱이 빨라진다. (Dynamic Linker 개선 덕분임!!)


1-2 SwiftUI (UI Framework)

선언형임.

App Navigation (New Navigation API 추가)

레이아웃 제어 개선 - 그리드 레이아웃 추가

기존 - 가로, 세로 스택

추가 - 그리드 레이아웃 추가!

Custom Layout API

유연한 레이아웃 만들기 가능. 시계모양도 가능

Half Sheet

  • 최근에 추가된듯. 이번에추가된건 아닌듯

공유 시트 지원

 

새로운 컬렉션 뷰 셀 도입 - 기존 앱에 SwiftUI 넣기 좋다고 함.

우리의 UIKit 앱에 있는 UICollectionView 에서 다음과 같이 사용 가능.!

1-3 Swift Charts

차트 프레임워크임. - 선언형이다. SwiftUI 기반이다. 애니멩이션도 가능

2. System Experience

사용자들에게 앱으로 다가갈 수 있는 방법들! ex. 위젯..

이번에 새로나온 것: 잠금화면!

2-1 잠금화면 위젯

애플워치 처럼! 한눈에 정보 보여주자.

WidgetKit 사용. 모든 위젯은 iOS와 watchOS 모두에서 작동한다.

한벌의 코드로 아이폰의 잠금화면애플워치의 컴플리케이션 둘다 가능. 알아서 크기 맞춰준다.

컴플리케이션 → 풀컬러 렌더링모드를 고려해야 한다. Xcode Preview에서는 그게 디폴트라고 함

2-2 실시간 업데이트가 필요한 순간 Live Activities

이것도 WidgetKit 사용. iOS 16부터 사용 가능하다. 업데이트 순간 애니메이션도 나옴 ㅎ

 

2-3 Message Collaboration API

이 api를 사용하면 메세지 공유를..? Message, FaceTime과 우리앱을 합칠 수 있는 느낌인듯.

협업에 좋음.

두가지 방법

  1. 공유시트

  1. 드래그앤드롭

 

2-4 App Intents (Sirikit Intents의 넥스트레벨.)

시리 단축어를 사용자가 직접 만들지 않고 편안하게?

사전설정 없이도 시리로 바로 이용 가능. (App Shortcuts)

Donation 같은 추가 api를 사용할 필요가 없다.

 

shortCuts 앱에도 나온당.

예를 들어 차트 뷰를 단축어에 노출해서 보여주고싶다.

인텐트를 만들고

perform 메소드를 구현한다.

앱 단축어 등록 - 시리로?

그리고 실제 보여줄 화면에는 SiriTip이라는걸 추가.

 

짜잔 Shortcut 앱에서 볼수있다. 아님 시리로 말하면 볼수있다. 아님 앱이름 검색하면 밑에 앱의 숏컷들 뜸.

2-5 Passkeys - 인증 관련.

FaceID, Touch ID 사용.

비밀번호 필요 없다아~

그러니까 맥에서 제공하는 인증 서비스인듯. 카카오인증처럼..ㅋㅋㅋ

서버에서는 공개 키 만 저장한다. 가치없음. 공개키이므로.

3. New APIs

  • iPadOS 16 - DriverKit for iPad
  • watchOS 16 - CallKit Framework
  • tvOS 16 - 다른기기와 연결
  • SKAdNetwork - 광고주들에게 좋은..
  • iPhone & iPad - ScanKit & RoomPlan으로 AR과 LiDAR 스캔 사용
  • 집중모드 필터 사용해서 업무모드일때는 업무계정만 보이도록 하는 것이 가능.

등..

3-1 Metal 3

게임이나 전문가용 앱. Apple GPU 사용을 돕는다.

  1. 게임 로딩 - 에셋 (저장장치Storage → GPU로)로딩할 때 원래 저품질 그래픽 버전 보여주고 로딩하면서 나중에 고품질 보여줌. 이건 별로쥬.

Metal IO API - Fast resource loading을 도와준다.

  1. 셰이더 컴필레이션 도 중요하다. 사용자의 pc환경에 맞게 컴파일되어야 한다. 런타임에 실행됨. 오프라인 셰이더 컴필레이션은, 이 작업을 컴파일 타임으로 옮겨준다.
  2. 메시 셰이딩 API 렌더링 빠르게?… 성능을 향상해준다고 함 암튼.
  3. MetalFX 렌더링 빠르게?… 성능을 향상해준다고 함 암튼.

3-2 Mapkit

지도 서비스. 개발자들은 무료임.

iOS 16에서 3D 지도를 볼 수 있다.

랜드마크도 볼 수 있음!! 다크모드도 있음.

주변보기

주변보기. 네이버 지도에 있는거.. 막 이동도됨. 원래 안됐나봄

App Maps Server APIs

다음 메소드들을 제공한다.

3-3 날씨 서비스

WeatherKit 사용하면 됩니다. 지금은 베타임.

어느정도는 공짜고 그 이상은 돈내야합니다.

3-4 Live Text API, Data Scanner API

이미지의 텍스트나 QR코드를 가져온다.

QR코드앱에서 유용하다. 9개국어를 자동 감지한다. 재팬+우리나라 올해부터 포함됨..

'개발 > iOS' 카테고리의 다른 글

WWDC 2022 - Meet Swift Async Algorithms  (0) 2022.07.01
WWDC 2022 - Get more mileage out of your app with CarPlay  (0) 2022.07.01
RIBs iOS Tutorial 4  (0) 2021.12.21
RIBs iOS Tutorial 3  (0) 2021.12.21
RIBs iOS Tutorial 2  (0) 2021.12.19