스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
Platforms State of the Union
Learn about the latest tools, technologies, and advancements to help you create even better apps across Apple platforms, including the all-new visionOS.
챕터
- 0:00:00 - Introduction
- 0:04:03 - Swift, SwiftUI, SwiftData
- 0:19:22 - WidgetKit, App Intents, TipKit, AirDrop
- 0:27:03 - Gaming, Camera, Video conferencing, watchOS
- 0:39:41 - Accessibility, Privacy, App Store
- 0:52:21 - Xcode
- 1:00:30 - visionOS
- 1:28:06 - Conclusion
리소스
-
다운로드
♪ ♪
♪ ♪
Platforms State of the Union 2023에 오신 걸 환영합니다! 새로운 릴리즈를 활용할 방법을 여러분과 자세히 나눌 수 있어 정말 기쁩니다 iOS 및 iPadOS의 상호작용 위젯은 시스템 전반에 앱을 표시하는 많은 방법을 제공하며 macOS의 새로운 위젯 경험과 유려한 watchOS 10의 디자인 tvOS의 연속성 카메라 물론 완전히 새로운 플랫폼인 visionOS도 있죠 Platforms State of the Union은 올해 릴리즈의 흥미롭고 강렬하며 중요한 개발 사항을 배울 기회입니다 우리가 준비한 것들은 이 모든 영역을 제공하죠 본격적으로 시작하기 전에 잠깐 이야기해 볼 것은 훌륭한 플랫폼과 앱을 만드는 요소입니다 훌륭한 플랫폼은 프레임워크와 기술의 집합 그 이상입니다 그 핵심 요소들이 합쳐져 특별한 것을 만들어 내죠 언어, 프레임워크, 도구 서비스의 결합이며 매끄럽게 협응하도록 개발되었기 때문에 코드를 작성하는 자연스러운 방법 역시 으뜸입니다 풍부한 API 세트로 시스템에 깊숙이 통합된 놀라운 경험을 창조할 수 있습니다 앱이 열려 있든 말든 상관 없이 말이죠 광범위한 제품군에 걸친 최첨단 하드웨어 기술을 안전하게 활용하는 사려 깊은 방법도 준비되어 있죠 끝으로, 훌륭한 플랫폼은 새로운 어려움에 맞서기 위해 진화합니다 그래야 여러분이 즉각 사용자의 요구를 충족할 수 있죠 300개가 넘는 우리 플랫폼의 프레임워크는 건축 자재와 같아서 여러분이 만든 앱의 혁신적이고 창의적이며 차별화된 기능을 제대로 사용하게 합니다 단순히 시간을 절약하거나 특정 기능을 더하는 것 그 이상을 보여 주죠 여러분이 목적을 가지고 플랫폼 기반을 사용하면 앱은 아름답게 들어맞고 시스템 자체를 확장합니다 이것이 훌륭한 앱으로 가는 길이죠 훌륭한 앱은 알맞은 정보를 알맞은 시간과 장소에 사용자에게 제공합니다 그 장소란, 공유 시트일 수도 있고 잠금 화면일 수도 있으며 Spotlight, Siri 얼마든지 많은 곳이 있습니다 훌륭한 앱은 새로운 센서, 강력한 칩 같은 하드웨어를 활용합니다 이러한 기능을 손쉽게 부여하는 프레임워크 덕분이죠 훌륭한 앱은 제대로 해내는 게 아주 중요한 일들을 수행합니다 사용자의 개인정보를 존중하는 안전하고 접근성 좋은 앱인 거죠 사람들이 중요하게 여기는 일관성과 신뢰성을 지닌 채 우리의 플랫폼과 여러분의 앱은 이 모든 것을 함께 전달합니다 이는 중요한 사안이죠 우리는 훌륭한 플랫폼과 앱에 매우 열정적입니다 사용자는 그것들이 만드는 그 차이를 알 수 있죠 iOS, iPadOS, macOS, tvOS watchOS, 그리고 visionOS가 공유하는 그 기반은 밀착된 생태계를 형성하여 여러분의 앱을 Apple 플랫폼과 제품 전역에 제공할 수 있게 만듭니다 여러분의 앱은 이러한 생태계의 핵심입니다 기기 간에 매끄럽게 움직이는 쓰기 쉬운 경험을 통해 하루를 보내는 사람들에게 힘을 더해 주죠 Apple에서는 우리가 쓰고 싶은 걸 개발하자는 말을 하곤 합니다 플랫폼에 대한 우리의 접근 방식을 보면 여실히 알 수 있죠 우리 또한 개발자이기 때문입니다 우리도 Apple의 동일한 언어, 도구 프레임워크를 사용합니다 그래서 오늘은 다룰 내용이 참 많습니다 먼저 Swift와 SwiftUI의 최신 개발 사항과 이것을 플랫폼 전역에서 사용해 놀라운 경험을 만드는 법을 다룰 겁니다 그리고 어떻게 하드웨어의 성능을 이용하고 여러분이 만드는 경험의 가치에 우선순위를 정할지 얘기하죠 그다음 우리가 매일 사용하는 강력한 도구의 개선 사항을 설명할 겁니다 마지막에는 우리의 최신 플랫폼 visionOS의 기술을 자세히 들여다보며 Apple Vision Pro에 쓰일 차세대 앱을 만드는 법을 보여 드리겠습니다 홀리에게 자리를 넘겨 새로워진 Swift를 알아봅시다
우리가 매일 사용하는 수많은 API의 기반은 Swift입니다 빠르고 현대적이고 안전하며 효율적이고 표현적이며 정확한 코드를 짜도록 우리를 안내합니다 API를 사용하면 라이브러리와 플랫폼 기능을 활용할 수 있고 여러분의 앱에 독특한 경험을 창조할 수 있습니다 하지만 일부 API는 사용하기 어렵고 시작하기 위해 작성하는 상용구 코드가 많습니다 그래서 Swift는 새로운 API를 선보입니다 사용하기 쉽고 제대로 해내기 쉽도록 매크로를 도입한 거죠 이 매크로들은 Swift의 방식대로 만들어졌습니다 매크로는 주석의 일종으로 코드의 구조를 사용해 여러분의 프로젝트로 빌드된 신규 코드를 생성합니다 매크로는 코드에 특성으로 첨부될 수도 있고 해시 기호를 사용해 독립형으로 쓸 수도 있습니다 매크로 덕분에 API는 언어의 일부처럼 기능하며 주석만으로 새로운 API를 사용하는 많은 방법이 존재합니다 매크로는 Xcode에서 생생하게 작동합니다 생성된 코드는 Xcode 안에서 프로젝트의 일부처럼 느껴지죠 보여 드릴게요 유효한 URL 문자열을 확인하는 URL 매크로를 만들었습니다 매크로는 정규 Swift 코드를 생성하기 때문에 Xcode의 Expand Macro 기능으로 작동 방식을 정확히 볼 수 있죠 이 매크로는 보기에는 정말 단순합니다 이는 URL 이니셜라이저를 불러오고 결과를 강제로 래핑 해제합니다 하지만 URL 매크로는 그 이상을 수행합니다 컴파일 시간 때 문자열이 유효한 URL인지 확인하죠 예를 들어 URL은 공백을 가질 수 없는데 공백을 추가하면 사용자 지정 오류 메시지와 문자열 내 공백을 자동으로 없애는 수리 기능을 제공합니다 이것은 앱 실행 시 오류가 될 만한 것을 코드 작성 단계에 피드백으로 옮겨 실수를 바로 수정할 수 있죠 모든 매크로는 맞춤형 피드백을 제공하는 기능이 있어 정확한 코드를 작성하게 도와줍니다 첨부된 매크로는 여기서 더 나아가 이미 작성한 코드에 신기능을 추가할 수 있죠 첨부된 매크로의 능력을 확인해 볼게요 fetchContent 함수가 있는데 비동기 작업을 수행하고 컴플리션 핸들러를 사용합니다 그런데 저는 async/await를 쓰고 싶네요 또 다른 fetchContent 함수를 구현하는 대신 AddAsync 매크로를 첨부할 수 있어요 그러면 끝입니다! 이제 컴플리션 핸들러를 제출하는 대신 fetchContent를 호출할 때 결과를 기다리면 되죠 다른 API처럼 매크로에서 빠른 도움말을 사용해 문서를 볼 수 있습니다 저변에서 어떻게 작동하는지 알고 싶다면 중단점을 설정하고 코드를 실행해 async 함수에 진입하면 Xcode가 매크로를 소스 편집기에 즉시 확장합니다
모든 내용을 알 수 있다는 점이 정말 멋지네요 디버깅 도중에 확장된 매크로에 진입하는 것은 무대 뒤편을 엿보는 자연스러운 방법이며 코드의 상태를 이해할 수 있도록 도와줍니다 여러분은 자신만의 매크로를 작성할 수 있어 언어를 확장할 수 있습니다 이전에는 Swift 컴파일러의 구현 기능으로만 가능했던 방식이죠 Swift는 오픈 소스로 개발되었기 때문에 개발자들은 이미 매크로를 사용하여 가장 흔히 요청받는 언어 기능을 빌드하고 있습니다 어설션 실패에 관한 풍부한 설명의 자동 생성이나 사용자화 가능한 기본 프로토콜 적합성 제공 등 그 목록은 계속 늘어나고 있습니다 또한 올해 출시된 많은 신규 API에 매크로가 쓰인 걸 알게 될 겁니다 커뮤니티 저작 매크로를 이용하거나 자신의 매크로를 Swift 패키지로 공유할 수 있습니다
매크로와 같은 언어의 진보로 인해 Swift는 어느 때보다 많은 프로젝트에 채택될 수 있죠 Swift로 작성하지 않은 코드를 이야기해 봅시다 Swift는 출시 이래로 C언어와 Objective-C언어로 양방향 상호운용성을 제공해 왔습니다 한 번에 파일이나 모듈 하나씩 Swift를 도입할 수 있고 전체 코드베이스를 재작성하지 않아도 됩니다 Swift는 이런 상호운용성을 C++로 확장합니다 Swift-C++ 상호운용성으로 동일 프로젝트에 두 언어를 중간 브리징 레이어 없이 쓸 수 있습니다 여러분의 클래스, 함수를 공유할 수 있고 컴파일러 플래그를 설정해 두 언어에 걸친 벡터 등 템플릿 전문화 또한 공유할 수 있습니다 Swift에서 C++를 사용하면 코드 내 정의되지 않은 동작의 많은 소스를 제거하게 됩니다 예를 들어 초기화되기 전 변수 사용이 있죠 그리고 브리징은 효율적입니다 Swift와 C++ 코드 사이에 호출이 최소한의 오버헤드로 네이티브로 이뤄집니다 Swift-C++ 상호운용성은 이미 오픈 소스에 쓰이고 있으며 Swift 컴파일러 자체를 C++에서 Swift로 전환하게 해 주죠 Swift로 Swift를 구현하다니 정말 기대되네요 Swift의 근본적인 목표는 안전하고 표현적인 코드로 함께 구축된 라이브러리에 깊숙이 심겨 있습니다 SwiftUI보다 이것이 명백한 곳은 없죠 조시에게 자세한 설명을 들어 볼게요 SwiftUI는 현대적인 사용자 인터페이스를 Apple 플랫폼 전역에 구축하는 최고의 방법입니다 적은 코드를 사용해 좋은 앱을 작성할 수 있어 개성적인 앱 제작에 집중할 수 있습니다 게다가 인터페이스 코드를 재사용하는 능력을 극대화하죠 Crunchy Bagel의 건강한 습관 앱인 Streaks가 그 훌륭한 예시입니다 그들은 iOS 위젯을 만들 때 처음으로 SwiftUI를 사용했는데 이후 그 코드를 watchOS 앱에 공유했고 이를 예쁜 애니메이션으로 보강했죠 이제는 동일한 코드를 다시 iOS 앱으로 가져왔습니다 점진적인 채택을 통해 자신의 속도로 UI 코드를 공유해 기존 앱에서 SwiftUI의 이점을 보게 된 겁니다 SwiftUI는 또한 놀라운 유능함을 갖고 있어 앱의 정교한 인터페이스 작동을 돕습니다 새로운 iPad용 Logic Pro와 Final Cut Pro가 그 예시죠 SwiftUI를 앱에 채택하면 차세대 사용자 인터페이스를 만들 준비를 할 수 있죠 SwiftUI로 제작한 것은 계속 확장할 수 있습니다 늘 그렇듯 올해의 릴리즈에 담긴 새로운 기능들은 상위 개발자 요청 사항과 영향력이 큰 영역에 집중합니다 파이 차트의 신규 지원과 Swift 차트의 엄선 등이 있죠 새로운 인스펙터 API는 오버레이, 주변 둘러보기 등 MapKit 지원을 확장했습니다 이러한 개선 사항은 다양한 기능을 포함하는데 다수는 애니메이션 개선에 집중하고 있습니다 이는 중요한 영역으로 사용하기 쉬운 인터페이스는 잘 만든 애니메이션이 만듭니다 애니메이션은 피드백을 제공할 수 있어 사용자는 무언가 일어났음을 파악할 수 있고 성공적인 작업 완료를 확인할 수도 있죠 SwiftUI가 발전된 기능을 처음부터 제공해 온 이유입니다 가역적이고 중단 및 취소가 가능한 애니메이션 같은 기능을요 올해 SwiftUI는 애니메이션이 훨씬 개선됩니다 움직이는 방법부터 시작하죠 애니메이션은 사용자의 제스처로 작동할 때가 많습니다 이제 SwiftUI는 자동으로 제스처의 속도를 애니메이션으로 전달할 수 있어 부드러운 전환을 제공합니다 애니메이션은 이제 스프링 기반 모션을 기본으로 해 2개의 간단한 매개변수를 사용해 환경 설정을 할 수 있습니다 바로 지속과 탄력이죠 SwiftUI는 SF Symbol에서 새 애니메이션 효과를 쓸 수 있고 앱의 아이콘에 생동감을 불어 넣습니다 마지막으로 다중 부분 애니메이션을 구축할 경우를 위해 SwiftUI의 새로운 API인 AnimationPhase가 있습니다 몇 줄의 코드로 정교한 애니메이션을 만들 수 있죠 새로운 API를 설명하기 위해 견본 앱을 만들어 봤습니다 Apple Park의 아름다운 전경에 영감을 받았죠 사용자가 야외 공간을 만들어 새에게 먹이와 물을 주는 고요한 경험을 주는 앱입니다 새로운 새를 놓치지 않기 위해 목록 상단에 리마인더를 추가했습니다 이 뷰에 집중한 미리 보기로 전환할게요 애니메이션을 더해 이 SF Symbol이 눈에 띄게 만들고 싶은데요 먼저 사용자 애니메이션에 다른 상태를 정의하기 위해 열거형을 추가합니다 다음으로 'PhaseAnimator'에서 저의 뷰를 래핑합니다 스테이트 간에 자동으로 움직이는 새로운 뷰를 만들었습니다 마지막으로 '.highlighted' 애니메이션 페이즈에서 아이콘의 크기와 회전을 조절하겠습니다 보기 좋네요 그런데 배경 화면이 아이콘과 함께 움직이면 훨씬 멋질 것 같군요 변경자를 몇 개 더 추가하겠습니다
이제 더욱 고급스러운 애니메이션을 만들기 위해 올해의 SwiftUI는 키프레이밍을 완전 지원합니다 이 강력한 API로 뭐든 애니메이션으로 만들 수 있습니다 새로운 SwiftUI 기반 MapKit API의 프로퍼티를 포함해서요 애니메이션 내의 특정 시간에 다중 프로퍼티의 값을 키프레임을 사용해 정의할 수 있고 그다음에 중간값은 SwiftUI가 보간하게 됩니다 키프레임을 사용해 쿠퍼티노의 명소들을 들르도록 지도 카메라를 움직이고 있습니다 각 프로퍼티에 대한 모션을 키프레임으로 정의하기 때문에 피치, 헤딩, 카메라의 위치가 독립적으로 움직여 쿠퍼티노를 가로질러 Apple Park에 갈 때까지 부드럽고 연속적인 모션을 얻을 수 있습니다 SwiftUI의 애니메이션을 사용해 앱의 분위기를 다듬기가 이보다 쉬운 적은 없었죠 이제 데이터 흐름을 얘기합시다 SwiftUI로 앱을 제작할 때 뷰에 데이터를 가져오는 방법이 몇 가지 있죠 SwiftUI는 일련의 프로퍼티 래퍼로 뷰에 속한 데이터를 처리하고 다른 곳에 속한 데이터를 참조합니다 올해는 데이터 흐름이 더욱 단순해져 State와 Environment만 집중하면 됩니다 모델을 SwiftUI에 노출할 때 코드를 이렇게 작성했을 겁니다 ObservableObject를 준수하고 Published 프로퍼티 래퍼를 각 프로퍼티에 추가하죠 Swift의 새로운 매크로 지원 덕에 더욱 간단해집니다 새로운 Observable 매크로로 대체되기 때문이죠 클래스에 @Observable 주석을 달기만 하면 됩니다 공개적으로 표시되는 프로퍼티는 모두 자동으로 배포됩니다 SwiftUI 뷰에 Observable을 사용하면 뷰 업데이트를 시작하려고 프로퍼티 래퍼를 쓸 필요가 없죠 변수를 직접 참조하기만 하세요 코드를 적게 작성하면서도 빠르고 정확한 행동이 자동으로 수행됩니다 SwiftUI는 Observable을 이용하여 필드별 수준으로 액세스를 추적해 특정 프로퍼티가 뷰 변경에 의해 사용될 때만 뷰의 바디가 재평가됩니다 뷰에 사용되지 않은 필드를 수정한다고 하면 무효화는 전혀 일어나지 않습니다 이제 모델을 뷰에 연결할 때 SwiftUI의 다른 부분과 마찬가지로 작성하기 자연스러운 코드가 또한 정확한 코드입니다 SwiftUI는 Swift를 위해 설계된 차세대 프레임워크였는데요 Swift 전용 프레임워크의 이점은 UI 코드에서 멈추지 않습니다 Core Data는 데이터 관리 도구를 제공해 왔는데 그 디자인은 Objective-C 시대에 탄생해 Swift가 제공하는 기능을 전부 활용할 수 없습니다 Swift의 모든 기능을 위해 최고 수준의 지원으로 설계된 Swift 전용 데이터 관리 솔루션을 많은 분께서 요청하셨죠 SwiftData를 소개합니다 SwiftData는 데이터 모델링 및 관리를 위한 프레임워크입니다 Core Data의 입증된 지속성 레이어 위에 만들어졌는데 거기에 Swift를 위해 완전히 재설계, 재창조한 API가 추가됐죠 SwiftUI처럼 외부 파일 포맷이 아닌 전적으로 코드에 집중합니다 대신 Swift의 새 매크로 시스템을 사용해 간소화된 API를 제공하죠 이전에는 이렇게 코드를 작성해 Swift에서 모델을 정의했습니다 정규 Swift 타입을 사용해서요 그다음에는 Core Data로 이를 관리하기 위해 Xcode에 내장된 모델 에디터로 같은 모델을 재정의해야 했죠 SwiftData는 @Model 매크로를 사용해 클래스에 주석을 부여합니다 한 줄의 코드에 많은 기능이 담겨 있습니다 예를 들어 자동으로 지속성 실행 iCloud 동기화 실행 취소 및 다시 실행 그리고 더 있죠 여러분은 이러한 자동 행동을 정제할 수 있는데 이때 프로퍼티에 추가적인 속성을 주석으로 답니다 가령 모든 인스턴스에서 값이 고유해야 함을 명시한다든지요 SwiftData는 구조체와 열거형을 Codable 프로토콜을 써서 이해하죠 그래서 이미 잘 아는 도구로 데이터를 모델링할 수 있습니다 이러한 타입은 데이터 저장소에 완전히 모델링되어 빠르고 효율적인 쿼리를 수행할 수 있습니다 복잡한 정형 데이터에서도 말이죠 물론 SwiftData와 SwiftUI를 통합하는 건 간단합니다 SwiftUI 뷰 업데이트 구동을 위해 새 Observable 매크로를 써서 데모 앱을 만들기 시작했는데요 그래서 새로운 새를 보면 인터페이스가 업데이트되지만 제 에딧은 실행 간에는 저장되지 않습니다 SwiftData를 가져오면 아주 쉽게 지속성 지원을 추가할 수 있죠 클래스의 두 Observable 매크로를 SwiftData의 모델 매크로로 교체하게 되면 제 모델은 준비가 되었습니다 앱의 루트에 변경자를 추가해 SwiftData 컨테이너를 설정합니다 그리고 새로운 뒤뜰을 만들 때 모델 콘텍스트에 삽입해 지속되도록 하겠습니다 마지막으로 BackyardList 뷰를 지속 데이터에 연결합니다 새로운 @Query 프로퍼티 래퍼를 사용하니 정말 쉽네요 이제 저장된 데이터를 불러오고 있기 때문에 프로토타입 때 썼던 기본 샘플 데이터를 지울 수 있죠 테스트하기 전에 제가 작업한 위젯을 업데이트하죠 컨테이너와 쿼리를 같은 방식으로 설정합니다 앱의 공유 컨테이너를 활성화하면 SwiftData가 자동으로 액세스 가능한 데이터로 만듭니다 동일한 API를 사용한 위젯으로 말이죠 뒤뜰은 이제 SwiftData로 지속되고 있고 @Query에 의해 뷰로 전달됩니다 시작에 앞서 제가 데이터베이스를 초기 데이터로 채웠기 때문에 이미 방문한 새가 보입니다 새 뒤뜰 오브젝트를 추가한다면 목록에 돌아갔을 때 추가적인 작업 없이 나타납니다 SwiftData는 지속성 외에도 제공하는 것이 많습니다 실행 취소와 다시 실행 지원 등이 있으며 자동으로 작동하죠 보시는 대로 위젯이 방금 만든 뒤뜰을 벌써 보여 주고 있군요 이처럼 SwiftData를 사용하면 데이터 저장 및 복원이 쉽습니다 SwiftUI와 SwiftData는 함께 작동하여 매력적이고 강력한 앱을 만들도록 도와줍니다 이는 Swift로 가능해진 개발의 새로운 접근법 토대를 형성하기에 여러분은 상용구에 쓸 시간을 줄여 아이디어 개발에 쏟을 수 있게 됩니다 다음은 시스템 전반에 걸쳐 새로운 방식으로 앱을 향상하는 기술을 어떻게 적용하는지 조너선에게 듣겠습니다 네 가지 새로운 앱 경험을 소개하게 되어 정말 기쁩니다 WidgetKit를 사용하면 시스템 전역에 걸쳐 많은 곳에 콘텐츠를 표시할 수 있습니다 App Intents를 사용하면 앱의 기능이 시스템과 더욱 매끄럽게 통합됩니다 TipKit를 사용하면 아름다운 팁이 앱에 바로 표시됩니다 AirDrop으로는 근처의 사용자와 콘텐츠를 공유하는 것을 더욱 편리하게 만들 수 있습니다 WidgetKit부터 시작하죠 위젯은 앱의 중요한 정보를 끌어올려 일상을 보내는 사용자들에게 한눈에 보기 좋고 유용한 앱 경험을 조성합니다 위젯은 홈 화면에서 시작했지만 이제는 보다 많은 곳에 존재하며 적시 적소에 사용자에게 여러분의 경험을 가져다줍니다 올해는 위젯이 더욱 강력해집니다 몇 가지 간단한 변경을 통해 iOS 17용으로 다시 빌드하면 기존 위젯은 iPhone의 스탠바이에 잘 어울릴 겁니다 크기를 늘리고 가장자리까지 확대했으며 배경을 제거해 나란히 두면 보기 좋습니다 iPad의 잠금 화면에서도 가능하며 마찬가지로 가장자리까지 확대하고 배경을 제거했죠 시각적으로 통일된 모습을 갖추어 잠금 화면에서 완벽한 조화를 이루게 되죠 macOS Sonoma에서 위젯은 데스크탑에서는 풀 컬러지만 창을 띄워 집중할 경우 배경에 맞춰 흐려집니다 이제 상호작용성을 새롭게 지원해 더 유용한 위젯 제작이 가능합니다 탭 한 번으로 수행하는 간단한 액션들, 가령 미리 알림 확인은 이제 여러분의 위젯에서 바로 처리할 수 있습니다 이러한 새로운 위젯 업데이트는 SwiftUI 기반의 아키텍처로 가능했습니다 위젯의 코드는 콘텐츠 생성을 위해 비동기적으로 실행되며 이것이 구축하는 SwiftUI 뷰는 아카이브에 저장됩니다 나중에 위젯을 그려야 할 때 아카이브에서 불러올 수 있으며 백그라운드에서 렌더링된 후 시스템 UI의 일부로서 표시됩니다 사용자가 버튼을 누르면 확장 프로그램이 다시 실행되어 액션을 처리하고 UI를 업데이트합니다 또한 아키텍처는 iPhone 위젯을 사용할 수 있어 매끄럽게 Mac에 표시합니다 마법 같은 연속성 덕분에 위젯 아카이브는 네트워크를 거쳐 Mac으로 보내지고 사용자 상호작용은 iPhone으로 다시 보내져 처리됩니다 기존 위젯을 활용하기가 이보다 쉬울 수 없습니다 위젯의 배경을 식별하고 패딩을 업데이트해 WidgetKit가 제공하는 기본값을 사용하면 되죠 SwiftUI의 스택 기반 레이아웃으로 시스템은 위젯의 색상과 간격을 콘텍스트에 따라 조정합니다 상호작용성은 위젯에 SwiftUI 버튼이나 토글을 추가해 쉽게 채택할 수 있습니다 이런 컨트롤로 App Intent를 실행하는 신규 지원 덕분에 확장 프로그램을 언제든 실행할 수 있습니다 위젯의 콘텐츠를 업데이트할 때 시스템은 전환 애니메이션을 실행하는데 Keynote의 이동 마법사 효과처럼 움직이죠 이동된 요소들은 새로운 위치로 미끄러지며 움직이고 추가, 삭제한 요소들은 부드럽게 안팎으로 흐려집니다 표준 SwiftUI 전환 API를 사용하면 사용자화가 가능하고 원하는 효과를 넣을 수 있습니다 기존 위젯에 새 기능을 더하는 게 얼마나 쉬운지 한번 보도록 하죠 샘플 앱에는 뒤뜰의 중요 이벤트를 추적하는 위젯이 있는데요 먼저 해야 할 것은 배경을 식별하는 겁니다 위젯 뷰를 보면 배경이 여기 ZStack에 있는 게 보이죠 새로운 컨테이너 배경 뷰 변경자에 이것을 옮기기만 하면 됩니다 iOS 17부터는 위젯 패딩이 제공됩니다 그러니 전에 추가했던 패딩을 지우도록 할게요 이제 Swift 매크로 덕분에 Xcode 미리 보기에서 전체 위젯 타임라인이 보입니다 미리 보기 캔버스 하단에 보면 모든 타임라인 항목이 있죠 클릭하면 업데이트할 때 위젯의 움직임을 보여 줍니다 전환 효과가 멋지네요 그런데 새가 오는 듯한 느낌을 추가해 보려 합니다 이것도 앱에서와 같이 표준 SwiftUI 전환을 사용합니다
여기 에디터에서 전환 변경자를 BirdView에 추가하겠습니다 리딩 엣지 푸시를 시도해 보죠 멋있네요 업데이트된 미리 보기 캔버스 덕에 위젯이 다른 콘텍스트에 따라 새로운 iPad 잠금 화면이나 iPhone의 스탠바이에서 어떻게 보일지 쉽게 확인할 수 있습니다 스탠바이를 볼게요 배경이 없어졌을 때 새가 두드러지면 좋겠습니다 다리가 사라져 보이니 새 수반을 추가하죠 SwiftUI는 새 변수를 제공합니다 showsWidgetContainerBackground로 배경이 없을 때의 위젯을 사용자화할 수 있죠
좋습니다! 위젯으로 앱과 상호작용하는 기능을 많이 요청하셨는데요 이제 가능합니다 새의 물을 채우는 버튼을 추가할게요 이 작업을 위해 App Intents를 미리 정의한 상태이기 때문에 이것을 위젯의 버튼과 연결하기만 하면 됩니다 시뮬레이터에서 가동해 보죠
보시는 대로 새의 물이 채워졌습니다 이것이 WidgetKit입니다 시스템 전역에 걸쳐 많은 곳에 콘텐츠를 표시하는 이보다 쉬운 방법은 없었습니다 상호작용성과 애니메이션 전환으로 위젯을 향상할 각종 방법이 기대되네요 App Intents는 위젯에서 상호작용성 그 이상을 다룹니다 앱의 기능을 시스템 전체로 끌어올립니다 Spotlight, 단축어 Siri에서 말이죠 이제 인텐트를 App 단축어에서 래핑하면 Spotlight 결과 내 앱 아이콘 옆에 나타납니다 보다 풍부한 대화형 프레젠테이션과 함께요 여러분은 몇 가지만 추가하면 됩니다 App 단축어에서 짧은 제목과 이미지 혹은 기호를 더하고 앱의 Info.plist에는 앱 아이콘과 보색 관계인 배경 색상을 넣습니다 그러면 업데이트된 단축어 앱에 앱 단축어가 표시되고 사용자는 여기서 설정해 자동으로 실행할 수 있고 홈 화면에 단축어를 추가하거나 나만의 단축어 생성에 쓸 수 있죠 Siri 또한 더욱 개선됐습니다 사용자는 보다 자연스러운 언어 유연성으로 단축어를 실행합니다 WidgetKit와 App Intents로 사용자는 완전히 새로운 방식으로 앱의 기능에 접근하게 됩니다 다음은 앱 내의 기능 발견을 얘기해 보죠 우리 개발자들은 매년 사용자가 반길 만한 기능을 구축하는 데에 시간을 할애합니다 그런데 이 기능의 큰 수혜를 볼 사용자가 정작 그 존재를 모르는 경우가 있죠! 이를 대처하기 위한 새 프레임워크, TipKit입니다 제 기능을 제때 사용하게끔 스마트하게 사용자를 학습시키죠 TipKit은 사용자가 시스템 앱에서 자주 보던 팁과 일치하는 템플릿을 제공합니다 앱의 분위기와 어울리는 쉬운 사용자화가 가능하죠 TipKit의 저력은 바로 턴키 방식입니다 간단히 템플릿을 사용자화하고 현재 콘텍스트에 관련된 기능을 사용자에게 가르치는 타겟팅을 추가하세요 이미 봤던 팁을 다시 띄우지 않게 전체 빈도를 관리할 수도 있습니다 심지어 다른 기기에서 확인한 팁도 말이죠 끝으로, 앱의 콘텐츠를 사용자가 공유하게 해 주는 재밌는 신기능이 AirDrop에 찾아옵니다 iOS 17에서는 사용자가 공유 시트를 건너뛰고 근처의 기기에 콘텐츠를 재빨리 보낼 수 있습니다 SwiftUI의 ShareLink를 사용하거나 activityItemsConfiguration를 UIKit 뷰 컨트롤러에서 채택하세요 ShareSheet, QuickLook와 같은 시스템 제공 ViewController는 이미 기본적으로 작동합니다 WidgetKit, AppIntents, TipKit 그리고 AirDrop은 사용자가 앱의 콘텐츠를 적시 적소에 이용할 수 있는 경험을 만들도록 도울 겁니다 이 기능들을 사용해 앱이 얼마나 발전할지 기대되네요 이제 대린에게 돌아가 보시죠 우리 플랫폼은 우리 제품의 독특한 하드웨어 역량에 여러분이 즉시 접근할 수 있도록 만들어졌습니다 Neural Engine을 활용해 사진을 처리하거나 혹은 가속도계를 사용해 수면 움직임을 측정하는 등 우리의 API는 하드웨어 기술의 저력을 쉽게 활용하게 해 주죠 다음은 게임, 카메라 디스플레이, Apple Watch에 있을 올해의 개선 사항을 살펴보겠습니다 어떻게 진행될지 브랜던에게 들어보시죠 눈부신 성능 긴 배터리 사용 시간 그리고 놀라운 그래픽을 가진 Apple Silicon 탑재 Mac은 고사양 게임을 위한 완벽한 플랫폼을 조성합니다 macOS Sonoma의 게임 모드 덕에 Mac 게임 환경이 훨씬 좋아졌죠 Mac이 더욱 인기를 끌게 된 만큼 여러분의 게임을 많은 게이머에게 선보이기 정말 좋은 때입니다 Windows 혹은 게이밍 콘솔용 게임을 제작하는 개발자라면 새로운 Game Porting Toolkit을 사용했을 때 어느 때보다 Mac용 버전을 제작하기 쉽다고 느낄 겁니다 세 가지 간단한 단계를 거쳐 개발을 가속할 수 있죠 첫째, 제공된 에뮬레이션 환경을 사용해 기존 Windows 게임이 Mac에서 잘 돌아가는지 평가할 수 있습니다 게임의 잠재적인 퍼포먼스를 즉시 분석할 수 있습니다 몇 달에 걸친 선행 작업을 없애 주죠 두 번째 단계에서 여러분은 셰이더를 변환하고 컴파일합니다 GamePorting Toolkit은 새 Metal Shader Converter가 있어 기존의 모든 HLSL GPU 셰이더를 이를 사용해 Metal로 자동 변환할 수 있습니다 여러분의 게임 속 고급 셰이딩 파이프라인인 지오메트리, 테셀레이션, 메시, 레이 트레이싱 단계가 포함되죠 Xcode나 사용자 지정 Windows 기반 셰이드 컴파일 도구 체인으로 게임을 빌드하면서 이 도구를 사용할 수 있습니다 이제 세 번째 단계입니다 그래픽 코드를 변환하고 게임을 최적화하는 거죠 Metal은 최신 현대 게임에 쓰이는 고급 그래픽과 컴퓨팅 기능을 전부 제공합니다 이를 이용해 굉장히 간단하게 그래픽 코드를 변환하죠 강력한 그래픽 성능과 디버깅 도구가 Xcode에 통합되어 있어 게임을 완전 최적화할 때 필요한 지침을 줍니다 이 도구들을 사용함으로써 Apple Silicon의 놀라운 성능과 강력한 그래픽, 디스플레이 오디오, 입력, 게임 기술을 활용해 여러분의 게임을 어느 때보다 훨씬 빠른 속도로 Mac으로 이식할 모습이 정말 기대되네요 빨라진 성능 하니 말인데 카메라에 관해 전해 드릴 소식이 있습니다 Apple은 모바일 포토그래피를 추진해 왔으며 세계에서 가장 인기 많은 카메라로 멋진 일을 할 수 있도록 API를 확장하고 있습니다 AVCapture는 카테고리를 통틀어 iOS 앱의 3분의 1이 사용합니다 창의성부터 생산성, 소셜 미디어 건강 카테고리까지 말이죠 강력한 퍼포먼스 개선이 올해 이루어집니다 Zero Shutter Lag를 이용해 셔터를 눌렀을 때 정확한 순간을 담습니다 셔터를 빠르게 누르면 카메라는 사진을 겹쳐 이미지 품질을 역동적으로 조정합니다 그리고 Deep Fusion과 같은 고품질 이미지는 지연 처리를 통해 백그라운드에서 처리될 수 있습니다 이러한 개선점을 통해 샷 투 샷 시간이 iOS나 iPadOS 앱에서 최대 3배까지 빨라집니다 고품질 이미지를 캡처하는 동안에도 말이죠 그리고 올해 말부터 음량 위, 아래 버튼으로 카메라 셔터를 작동할 수 있게 됩니다 앱 내 사진의 표시에도 중대 소식이 있죠 최근 몇 년간 HDR 지원 디스플레이가 널리 쓰였습니다 iPhone, iPad, Mac이 여기 포함되죠 HDR 포토그래피는 추가적인 명암비를 담아 밝은 하이라이트와 어두운 그림자를 충실히 보여 주고 어느 때보다 사실적으로 담아내어 실제로 그 장면을 경험한 듯한 느낌을 자아냅니다 Apple은 HDR 포토그래피를 주류에 올린 선구자로 HDR 사진은 iPhone 12 출시 이래로 수조 장이 촬영됐습니다 이를 위해 카메라 앱은 지능적으로 장면을 분석하고 캡처 순간 추가적인 하이라이트와 그림자 데이터를 저장합니다 그런데 HDR 영상은 업계 표준이 있지만 HDR 사진의 저장과 출력에는 업계 표준이 없었죠 그래서 협업이 어려웠습니다 하지만 올해는 모두 달라집니다 Apple은 업계 전반의 활동을 추진했고, 결과적으로 HDR 사진의 인코딩, 전시 규격에 발표했으며 최근 국제 표준 기구에 비준한 상태입니다 이제 iOS, iPadOS, macOS에서 이것을 API처럼 이용할 수 있어 앱에 호환 가능한 사진을 코드 몇 줄로 출력할 수 있습니다 이미지를 띄우는 모든 앱에 좋은 소식이죠 사진뿐만이 아닙니다 생성 콘텐츠 앱이 추가 명암비로 두드러진 이미지를 만들 때 쓰죠 이로써 완벽한 HDR 작업흐름이 가능해집니다 촬영부터 편집, 공유까지요 그리고 모두가 사진작가처럼 풀 HDR의 영광을 누리게 됩니다 이제 영상에 대해 말해 보죠 요즘 들어 우리는 카메라에 많은 시간을 사용합니다 화상 회의나 창의성 앱에서요 우리는 영상 조명 및 효과에 계속 투자해 왔습니다 새로운 반응, 제스처 그리고 발표자 오버레이 효과가 있죠 이것은 여러분이 받는 카메라 피드에 내장되어 있어 여러분의 앱에서 바로 실행됩니다 여러분의 앱은 효과가 작동할 때 옵저브 할 수 있고 추가적인 조치를 수행할 수 있습니다 해당 사용자의 타일을 강조해 반응했음을 보여 줄 수도 있죠 화상 회의 앱의 제작자라면 ScreenCaptureKit의 화면 공유와 카메라 기능에 다수의 개선이 이뤄져 있습니다 새로운 ScreenCaptureKit 피커로 사용자는 사적이고 안전하게 화면을 보다 간단히 공유할 수 있습니다 또한, 피커를 쓰면 여러분의 앱은 여러 창, 심지어 여러 앱을 간단히 한 번에 캡처할 수 있습니다 사용자는 사용 중인 앱에서 바로 공유를 시작할 수 있고 새로운 Video Effects 메뉴에서 공유 중인 화면을 미리 확인할 수 있음을 높게 평가할 겁니다 ScreenCaptureKit의 다른 이점은 높은 해상도의 콘텐츠로 단일 창을 공유할 때 더욱 보기 좋아집니다 게다가 iPad에는 외부 카메라 지원을 도입했습니다 어떤 USB 카메라든 iPad 앱에서 연결 및 사용 가능합니다 그리고 카메라, 마이크 성능을 완전히 새로운 플랫폼에 추가하게 되어 기쁩니다 바로 tvOS죠 tvOS의 연속성 카메라 덕에 iPhone, 심지어 iPad를 활용해서 처음으로 비디오와 오디오를 tvOS 앱에서 통합하게 됩니다 거실을 무대 삼아 여러분의 앱이 멋진 기능을 펼칠 무궁한 잠재력이 있죠 예를 들어 회의 앱은 센터 스테이지를 쓸 수 있어 집에서 제일 큰 화면에서 역동적인 그룹 영상 통화가 가능해지죠 게임은 카메라 및 오디오 피드를 직접 액션에 투입합니다 창의성 앱은 영상 스트리밍이나 영상 녹화가 가능하며 동시에 인물 모드와 재밌는 효과를 적용할 수 있죠 Apple TV에 이미 앱이 있다면 보다 연결되고 사회적인 경험을 만들 수 있습니다 이미 친숙한 프레임워크를 활용하면 되죠 연속성 카메라를 이용하고 싶지만 아직 tvOS에서 개발하지 않은 개발자라면 SwiftUI로 시작하면 굉장히 쉽습니다 어떻게 하는지 보여드리죠 여기 예제 iPad 앱인 PartyCam이 있습니다 재밌는 필터와 함께 셀카를 찍을 수 있죠 먼저 Apple TV를 목적지로 추가한 다음
사용자가 어떤 iPhone을 선택할지 알 수 있게 피커를 추가해야 하죠 그다음 코드를 추가해 피커를 표시합니다 그리고 실행합니다 이제 리모컨을 잡고 사진을 촬영하는 거죠 수전, 세레니티잖아요!
잘 나왔어요! 여러분이 거실을 어떻게 보다 즐겁게 만들지 궁금하네요 이제 로리에게 넘겨 새로운 watchOS를 확인하죠 우리의 첫 번째 웨어러블 기기인 Apple Watch는 개발자에게 새로운 가능성을 열어주었습니다 적절한 때에 알림을 제공하고 건강과 피트니스의 인사이트 그리고 편리한 앱 경험을 손목에 가져왔죠 올해 나올 watchOS 10은 대대적인 디자인 개편이 이뤄집니다 신형 Apple Watch 모델의 보다 커진 화면과 유능하고 연결된 하드웨어를 활용하게 되죠 재설계의 중심에는 SwiftUI가 있습니다 SwiftUI를 시스템 전반에 채용해 사실상 모든 앱을 업데이트하여 더욱 역동적이고 다채로워지며 한눈에 보기 편해졌습니다 몇 가지 예시를 알려 드리죠 watchOS 10의 페이지네이션에 새로워진 포커스입니다 세로 TabView로 가변적인 페이지 크기가 가능하고 Crown을 사용한 앱 내 스크롤링이 더욱 개선되어 공간을 희생하지 않고 귀중한 콘텐츠를 표시할 수 있죠 새 containerBackground 변경자로 그래디언트가 들어간 색상을 사용할 수 있어 가독성이 좋아지며 사용자는 앱 내 현재 위치를 쉽게 파악할 수 있고 데이터를 한눈에 보기 쉬워집니다 화면을 채우는 앱 디자인의 경우 새 ToolbarItem 배치로 모서리를 활용하기 좋아지고 필요할 경우 시간은 중앙으로 자동 이동합니다 강한 소스 list/detail 뷰 연관을 가진 레이아웃의 경우 NavigationSplitView는 다른 플랫폼의 동일 코드를 사용해 Apple Watch에서 어느 때보다 강렬합니다 Apple Watch의 디테일 뷰 피벗 인 앤드 아웃은 SwiftUI의 새 상호작용 스프링 애니메이션을 사용합니다 이 애니메이션은 12개의 개별 트랙으로 구성됩니다 사용자 손가락의 속도에 따라 크기 및 위치 둘 다 움직이는 애니메이션 플랜을 위한 거죠 물론, 주요 UI 컴포넌트도 업데이트되어 어떤 배경에서도 읽기 쉬운 머티리얼 처리와 함께 하드웨어에 맞춰 자동으로 크기가 변경됩니다 앱에 SwiftUI를 이미 채택했다면 watchOS 10 SDK와 함께 빌드할 때 이 업데이트를 자동으로 받게 되죠 Backyard Birds 앱으로 설명해 드리겠습니다 원래는 watchOS 9용으로 설계되었죠 NavigationStack을 사용해 만든 list/detail 앱인데 코드 변경 없이 watchOS 10에서 리컴파일했을 때 벌써 잘 구동되고 있네요 이 뷰는 자동으로 조정해 새 내비게이션 바 높이를 맞추고 큰 제목은 스크롤할 경우 축소하고 시간 밑으로 움직입니다 이제 watchOS 10에 적합하게 앱을 편집해 보도록 합시다 앱을 실행할 때마다 주요 뒤뜰의 현재 상태를 확인하고 싶습니다 목록에서 정원을 고르기보다는요 NavigationSplitView는 강한 소스 list/detail 관계의 앱을 위해 특별히 설계되었습니다 NavigationSplitView를 위해 NavigationStack을 교환해내죠 Source List에서 내비게이션 제목을 지울게요 앱의 엔트리 포인트가 더는 필요 없기 때문이죠 그리고 기본적으로 열려야 하는 디테일 뷰를 나타냅니다 이제 소스 리스트가 디테일 뷰 뒤에 숨겨졌고요 디테일에 집중해 보겠습니다 그런데 디테일 뷰가 꽤 깁니다 세 가지 분명한 섹션으로 구성된 스크롤링 리스트인데 리스트를 세로 TabView로 변환해 섹션별 별도 페이지를 분리하여 콘텐츠를 나누도록 하겠습니다 각 페이지는 기본적으로 화면의 높이가 될 겁니다 그 마지막 섹션이 ForEach 루프를 포함하기 때문에 새마다 각자 페이지를 가지게 되죠 화면의 높이를 초과하면 스크롤 가능한 단일 탭에서 모든 새의 리스트를 보는 게 낫습니다 그래서 이 ForEach를 List로 바꾸겠습니다 이제 스크롤 가능한 뷰가 됩니다 다음은 탭을 구분하기 위해 색을 추가하려고 합니다 .containerBackground 변경자를 각 탭에 추가합니다 그리고 먹이나 물이 부족할 때 빨리 발견할 수 있도록 Sustenance 배경 다이내믹을 만듭니다 공급 단계에 따라 초록, 노랑 또는 빨강으로 표시되죠 실시간 미리 보기에서 변화를 보니 배경 색상 덕분에 앱 내에 공간감이 형성되고 먹이와 물을 채워야 할 때를 더욱 쉽게 확인할 수 있네요 마지막 탭은 화면 경계 너머로 콘텐츠를 스크롤 할 수 있지만 Source List 버튼을 탭하는 것만으로 여전히 뒤뜰 목록을 볼 수 있습니다 몇 가지 변경만으로 watchOS 10에 맞는 앱을 완성했습니다 SwiftUI는 우리의 삶을 보다 쉽게 만들었습니다 시스템의 모든 앱이 멋지게 보이도록 노력했죠 방금 본 것과 같이 새로운 디자인 패러다임에 맞게 여러분의 앱을 업데이트하는 것도 쉬워질 겁니다 아직 SwiftUI로 옮기지 않았다면 지금이 절호의 기회입니다 SwiftUI 기반 앱 업데이트 외에도 watchOS 10은 새로운 시스템 공간을 갖추고 있으며 AppIntent 관련성이 위젯을 알맞은 때에 Smart Stack으로 이동하게 도와줍니다 그리고 앞서 언급했던 동일한 .containerBackground 변경자를 사용할 수 있어 위젯은 예쁜 사용자화 배경과 함께 빛나게 될 것입니다 운동 앱을 제작하는 경우 새로운 Custom Workout API로 사용자가 Apple Watch의 피트니스 추적 역량을 활용할 수 있게 됩니다 앱에서 피트니스 플랜을 공유할 수 있게 되죠 새로운 CoreMotion API는 골프 및 테니스와 같은 스포츠의 스윙 분석을 개선하기 위해 모션 및 가속도계 데이터를 보다 충실히 캡처합니다 그리고 여러분의 창의성을 잘 알고 있기 때문에 이 데이터는 모든 종류의 운동을 실행할 때 사용 가능합니다 이것으로 만들어질 경험이 벌써 기다려지네요 이상으로 올해 watchOS에 찾아올 큰 변화를 엿보았습니다 다시 대린에게 돌아가시죠 플랫폼은 그것을 이용하는 사람들이 중요하며 거기에 근간부터 세워진 가치들이 중요합니다 Apple에게 이러한 핵심 가치는 많은 의미를 지닙니다 여러분에게도 그러하겠죠 우리는 함께 여러분의 앱을 사용자의 요구에 맞도록 만들어 누구나 사용하게 할 수 있습니다 사용자와 그들의 데이터를 보호할 필요성을 존중하는 앱을 만들 수 있게 되죠 이 중요한 작업이 더욱 쉬워지도록 하는 우리 플랫폼의 제공 사항부터 시작합니다 크리스가 설명하겠습니다 누구나 우리의 디바이스를 사용해 자신이 사랑하는 일을 할 수 있어야 한다고 믿습니다 그래서 접근성 있는 제품 제작이 Apple의 핵심 가치인 거죠 세계보건기구에 따르면 전 세계적으로 10억 명이 넘는 장애인이 있습니다 접근성 있는 기술을 만들면 사람들에게 최고의 도구를 주어 창조하고, 배우고, 소통하며 자신의 방식대로 삶을 살게 합니다 Apple 제품에는 별도의 설치 없이 이용 가능한 손쉬운 사용 기능이 존재하며 이 기능의 대상은 시각장애인 혹은 저시력자 청각장애인 혹은 난청인 언어장애인 혹은 언어 기능 상실 위험군 지체 또는 운동 장애가 있는 사람 인지능력 장애가 있는 사람입니다 우리의 프레임워크는 손쉬운 사용 지원이 내장되어 있고 도구 및 API로 모든 이들이 여러분의 앱에 접근할 수 있도록 보장합니다 손쉬운 사용은 큰 영향력을 가진 작은 걸음으로 귀결되곤 하죠 예를 들어, 작년에 우리는 확대기 앱에 문을 감지하고 묘사하는 기능을 추가했고 이는 사람들이 그들의 환경을 독립적으로 탐색하게 도왔습니다 올해는 우리의 지원을 애니메이션과 섬광에 민감한 사용자로 확장합니다 이러한 사용자는 어려운 선택에 직면할 때가 잦습니다 하나는 섬광 경고문이 붙은 영화처럼 잠재적으로 위험한 콘텐츠를 피하는 겁니다 다른 하나는 충분한 정보 없이 소비하게 되어 발작 같은 건강상의 위험에 노출되는 겁니다 우리의 프레임워크는 이제 두 가지 기능을 위한 API가 들어가 앱 내 콘텐츠가 이러한 사용자에게 더욱 접근성 있게 됩니다 첫 번째 기능은 Pause Animated Images입니다 애니메이션 GIF의 움직임을 멈추는 기능으로 Safari, 메시지 등의 앱에서 실행됩니다 그리고 앱에 쉽게 추가할 수 있죠 SwiftUI의 TimelineView로 이미지 시퀀스에 애니메이션을 적용할 때 새로운 환경 프로퍼티를 사용해 사용자가 애니메이션 이미지를 멈추길 선호하는지 알 수 있습니다 멈추길 원한다면 해당 이미지를 정지 이미지로 교체해 사용자의 선택을 존중할 수 있죠 두 번째 기능은 Dim Flashing Lights로 밝거나 섬광이 비추는 장면이 나오는 동안 영상의 화면을 자동으로 어둡게 변경합니다
AVFoundation 비디오 렌더링 파이프라인의 새로운 국면으로 점멸하는 요소를 식별하고 조도를 낮춥니다 앱에서 미디어를 재생하기 위해 AVFoundation를 사용하고 있다면 이 기능을 지원하기 위한 추가 작업은 필요 없습니다 하지만 자체 미디어 플레이어를 사용하고 있다면 새로운 API를 사용해서 영상 내 섬광을 식별하고 이를 자동으로 어둡게 할 수 있죠 우리는 이 알고리즘을 오픈소스화했기 때문에 이 기능에 숨어있는 과학을 파악할 수 있을 겁니다 우리의 제품과 프레임워크에 접근성을 구축하기 위한 헌신은 우리의 신규 플랫폼까지 이어지죠 visionOS입니다 우리는 세계 최고의 기술이 모두의 요구에 적응해야 한다고 믿기 때문에 visionOS에 탑재된 다양한 손쉬운 사용 기능들은 당초부터 그 토대에 심겨 있습니다 이제 개발자 여러분은 모든 이가 쉽게 사용할 수 있는 visionOS 앱을 개발하는 중요한 역할을 맡게 됩니다 오늘 iPadOS와 iOS에서 선보인 동일한 도구와 API를 사용하죠 여러분과 함께 협업하여 다양한 사용자에게 공간 컴퓨터를 선보일 수 있게 되어 정말 기쁩니다 Vision Pro의 손쉬운 사용 설명은 나중에 자세히 듣도록 하죠 이제 케이티에게 자리를 넘겨 개인정보 보호를 살펴볼게요 Apple은 개인정보 보호가 근본적인 인권이라고 믿습니다 우리는 이를 중요하게 여기는 사용자들의 의견을 들었고 이제 여러분이 훌륭한 보안성을 제공하도록 돕고자 합니다 수년 동안, 앱에서 개인정보를 보호하는 수많은 방법을 개발했죠 올해는 이것이 더욱 쉬워져 여러분의 사용자에게 수많은 영역에서 강력한 개인정보 보호 경험을 제공할 수 있게 됩니다 개인정보 보호 프롬프트의 개선사항부터 보겠습니다 캘린더 앱의 허가부터 시작하죠 캘린더의 읽기 접근 권한을 필요로 하는 경우는 많지 않습니다 신규 일정을 작성할 수만 있으면 되죠 이러한 경우를 위해 추가 권한을 따로 만들었습니다 개발자에게 필요한 접근 권한을 부여할 수 있고 사용자는 본인에게 합리적인 프롬프트를 얻게 됩니다 사진 앱에서는 여러분의 앱에 사진을 제공할 때 사용자에게 두 가지 선택권을 제공합니다 어느 사진을 공유할지 고를 수 있거나 전체 라이브러리 접근 권한을 제공할 수도 있죠 사용자가 여러분의 앱에 공유할 사진을 고르는 과정이 더욱 쉬워지길 바랐습니다 여러분은 꼭 필요한 사진을 얻고 사용자는 의도한 사진만 공유하죠 그래서 앱에 심을 수 있는 신규 사진 선택기를 추가했습니다 사용자는 여러분의 경험 안에서 쉽게 사진을 골라 공유할 수 있죠 다음은 앱 개인정보 보호입니다 사용자가 데이터 보호 방법을 이해하는 건 중요합니다 그래서 그것을 도울 기능을 만들었죠 가령 Privacy Nutrition Label은 사용자에게 앱이 어떤 데이터를 수집, 사용하는지 알려 줍니다 많은 개발자가 자신의 앱에 서드파티 SDK를 사용합니다 이것은 훌륭한 기능성을 제공할 수 있지만 이는 label 제공을 어렵게 하기도 합니다 SDK의 사용자 데이터 처리 방식을 이해하지 못할 수도 있고 여러분의 소프트웨어 공급망에 보안 문제를 야기할 수도 있죠 그래서 올해 두 가지 업데이트를 도입했습니다 먼저 서드파티 SDK의 데이터 사용 방식을 이해하도록 돕는 개인정보 목록을 도입했습니다 이것은 앱 내 서드파티 코드의 개인정보 보호 규정 개요를 설명하는 파일로 표준 서식으로 적혀 있죠 앱 배포를 준비할 때 사용 중인 전체 서드파티 SDK의 모든 목록을 Xcode가 하나의 간편한 리포트로 묶습니다 모든 서드파티 SDK의 요약 리포트 하나로 App Store Connect에서 정확한 label을 쉽게 만들게 해 주죠 또한, 우리는 소프트웨어 공급망의 무결성을 개선하고자 합니다 서드파티 SDK를 사용할 때 여러분이 기대하는 그 개발자가 작성한 코드를 내려받은 것인지 알기 쉽지 않습니다 이를 해결하기 위한 서드파티 SDK용 서명을 소개합니다 이제 서드파티 SDK의 새 버전을 채택하게 되면 Xcode는 동일 개발자가 서명했는지 인증하기 때문에 여러분은 이제 안심하셔도 됩니다 개인정보 목록과 서드파티 SDK 서명이 있으면 사용자를 보호하기 더욱 쉬워지고 데이터가 어떻게 쓰였는지 이해하도록 도울 수 있습니다 마지막으로 '커뮤니케이션 안전'입니다 플랫폼의 아동 사용자를 보호하는 개인정보 보호 기술이 쓰이죠 우리 플랫폼과 여러분의 앱은 전 세계 수많은 가정에서 중요한 역할을 하고 있습니다 특히 가족의 의사소통 방식에서 그렇죠 iOS 15에서는 메시지 앱에 커뮤니케이션 안전 기능을 도입해 아동이 Apple 기기를 사용할 때 더욱 많은 보호 기능을 제공합니다 여러분이 제작하는 많은 앱에서 사용자는 콘텐츠를 공유하며 또한 어린이를 취약한 상황에서 보호하길 원합니다 위험한 콘텐츠를 분류하는 모델을 훈련하고 구현하는 것은 해결하기 어려운 문제일 수 있으며 많은 작업을 수행해야 하죠 그래서 커뮤니케이션 안전을 모든 플랫폼에 도입하기 위해 민감한 콘텐츠 분석 프레임워크를 도입했습니다 몇 줄의 코드만으로 프레임워크는 신체 노출이 포함된 이미지와 영상을 감지할 수 있고 이는 완전히 온디바이스로 이루어집니다 커뮤니케이션 안전이 활성화된 앱으로 여러분은 어린이를 위한 긍정적인 경험을 구축할 수 있죠 민감한 콘텐츠 분석 프레임워크는 커뮤니케이션 안전의 기반이 되는 동일한 기술을 사용합니다 이 프레임워크는 이미지와 영상을 완전히 온디바이스로 처리해 사용자의 개인정보를 보호합니다 또 민감한 콘텐츠를 블러 처리하는 기능을 선사하고 싶었습니다 '민감한 콘텐츠 경고' 기능으로 말이죠 이 민감 콘텐츠 분석 프레임워크는 사용자가 커뮤니케이션 안전이나 민감한 콘텐츠 경고를 활성화했는지 알려줍니다 어느 기능을 사용하는지에 따라 앱 경험을 맞춰 줄 수 있는 거죠 새 기능들로 인해 사용자에게 개인정보 보호와 마음의 안심을 선사하기 더욱 쉬워집니다 다음은 크리스에게 App Store의 새 소식을 들어 보시죠 높은 수준의 안전성과 보안성 그리고 성능을 충족한 앱을 사용자가 발견할 수 있는 믿을 수 있는 장소라 하면 바로 App Store입니다 App Store는 앱 내 구입과 같은 다양한 비즈니스 모델을 사용해 앱 배포를 전 세계로 확장하게 해 주죠 StoreKit은 안전하고 신뢰 가능한 앱 내 구입의 근간입니다 우리는 제품을 앱의 UI와 연결하는 강력한 데이터 모델을 제공합니다 앱 내 구입을 제공할 경우 가격이나 구독 기간 같은 핵심 요소를 보여 주어 사용자의 구매 결정을 돕는 것이 중요하다는 걸 아실 겁니다 많은 개발자가 이를 위해 애쓰고 있다는 걸 잘 압니다 올해 우리는 StoreKit를 발전시켜 여러 새로운 뷰를 통해 모든 플랫폼에서 앱의 판매 UI를 강화했습니다 휴먼 인터페이스 가이드라인의 모범 사례들을 활용했죠 SwiftUI의 선언형 문법을 활용해 여러분만의 판매 경험을 만들어 낼 수 있고 StoreKit가 나머지를 처리해 줍니다 예시를 살펴보시죠 ProductView는 여러분의 상품을 표시하게 해 줍니다 App Store Connect에서 여러분이 정의한 데이터를 활용하죠 쉽게 사용자화해서 앱 분위기와 맞출 수 있습니다 SubscriptionStoreView는 구독을 위한 특수 목적의 뷰입니다 단 한 줄의 코드로 각 플랜의 설명, 가격, 기간을 사용자에게 분명하게 보여 줍니다 이런 뷰는 iPhone만을 위한 것이 아닙니다 같은 코드가 모든 Apple 기기에서 플랫폼 경험에 어울리는 뷰를 생성합니다 Apple Watch의 작은 디스플레이에도 잘 맞죠 물론 모든 사용자를 위해 접근성과 현지화도 염두에 두고 생성됩니다 SubscriptionStoreView를 앱에 통합하는 건 아주 쉽습니다 Backyard Birds Pass 구독 플랜을 작업해 봅시다 Xcode에서 SubscriptionStoreView 선언문을 추가해서 Backyard Birds에 어울리는 분위기를 내겠습니다 뷰로 마케팅 콘텐츠를 사용자화하고 배경을 삽입하고 구독 옵션의 스타일을 변경하죠
이제 앱의 브랜딩과 일치하는 멋진 페이지가 생겼습니다 시뮬레이터도 빠르게 둘러보죠 사용자와 동일한 전체 경험을 확인할 수 있습니다 여기서 플랜을 선택하고 구독을 클릭하면 구매가 완료되죠 이렇게만 하면 사용자화 구매 경험을 구축해 사용자의 구매에 필요한 모든 정보를 보여 줄 수 있습니다 사용자의 구매 기록이나 구독 상태에 따라 플랜을 사용자화하는 것이 얼마나 어려운지 잘 압니다 그래서 SubscriptionStoreView가 자동으로 사용자 자격을 확인하고 적절한 플랜을 보여 줍니다 새 StoreKit 뷰는 앱 내 구입을 촉진하기 위한 최고의 방법이죠 여러분의 사업을 성장시킬 또 다른 중요한 요소는 사용자가 앱을 찾아내게 해 주는 광고 효과를 이해하는 것입니다 그래서 SKAdNetwork는 광고가 여러분의 앱 다운로드를 얼마나 성공적으로 이끌었는지 애드 네트워크가 집계하게 돕죠 그러면서도 사용자의 개인정보는 보호합니다 다운로드 측정 외에도 광고가 어떻게 사용자를 앱으로 돌아오게 하는지 이해하는 것도 중요합니다 SKAdNetwork 5는 재방문 집계를 지원합니다 사용자가 앱을 다운로드한 후의 전환도 집계하고 사용자가 광고를 탭해 앱을 연 후의 전환도 집계할 수 있습니다 버전 5는 올해 배포될 iOS 릴리즈에서 사용 가능합니다 앱 내 구입을 위한 새로운 기능과 SKAdNetwork는 반응을 기초로 사업을 성장시키고 사용자의 개인정보를 보호하고 사용자에게 투명성과 마음의 평화를 선사합니다 대린에게 돌아가 보시죠 우리 프로그래밍 언어나 프레임워크와 마찬가지로 우리 도구들도 서로를 위해 만들어졌습니다 Xcode는 우리 모든 플랫폼에서 앱의 개발, 테스트, 배포에 필요한 모든 것을 제공합니다 TestFlight와 Xcode Cloud는 코드 첫 줄부터 App Store에서의 첫 다운로드까지 매끄러운 경험을 만들어 내죠 이제 최신 개발 소식을 켄이 소개해 드릴 겁니다 모든 Apple 플랫폼에서 하나의 도구가 개발자 경험의 중심이 되어 훌륭한 앱 개발을 돕고 있습니다 Xcode죠 강력한 기능들을 한데 모아 줍니다 코드 작성과 UI 디자인을 혼합해 주는 에디터 대화형 미리 보기와 라이브 애니메이션 내장 소스 컨트롤로 제작, 리뷰 팀과 변경 사항 공유가 가능합니다 디버깅, 프로파일링, 테스트 도구가 앱의 평가와 개선을 돕죠 이 모든 게 Xcode Cloud와 연결되어 연속적인 통합 및 전달 서비스가 TestFlight와 App Store로의 배포를 단순화합니다 Xcode 15에는 여러 가지 대형 업데이트가 적용됐습니다 여러분이 가장 시간을 들이는 소스 에디터부터 살펴보죠 코드 완성은 원하는 코드를 빠르게 더 적은 실수로 작성하게 해줍니다 Xcode 15에서는 가장 적절한 코드 완성으로 시작하고 에디터가 주변 코드를 사용해 우선순위를 정합니다 그게 사용 중인 특정 뷰를 위해서 또는 뷰를 사용자화하면서 변경자를 연쇄 처리할 때 가장 적절한 변경자인지 말이죠 Xcode는 자동으로 자산 카탈로그 리소스를 위한 심볼을 생성합니다 그것들이 코드 완성에 나타나 쉽게 코드에 사용할 수 있죠 이는 타입 안전성과 마음의 평화를 가져다주며 자산을 런타임에 사용 가능합니다 이 자산을 사용하기 좋은 곳은 여러분의 SwiftUI 뷰입니다 Xcode의 미리 보기는 UI 상에서 반복하는 매끄러운 방법입니다 거의 즉각적인 피드백을 받으며 앱의 코드 바로 옆에서 디자인할 수 있죠 Xcode 15에서 미리 보기는 더 사용하기 쉽고 더 많은 곳에서 사용 가능합니다 Swift Macro로 만들어진 새로운 구문으로 시작합니다 쓰기도 간단하고 기억하기도 쉽죠 여러 플랫폼과 기기로 작업하는 것이 더 쉬워집니다 바로 캔버스에서 선택해서 어디서든 뷰가 잘 표시되는지 확인할 수 있죠 이제 모든 UI 프레임워크에서 미리 보기를 사용할 수 있습니다 어디서든 SwiftUi UIKit, AppKit를 사용할 때 코드 어디서든 일관된 경험으로 UI 상에서 반복할 수 있죠 변화를 빠르게 만들고 미리 보기 위해 Xcode는 그 변화를 검토하고 커밋하는 방식을 간소화합니다 많은 분이 작업 과정에서 git 스테이징을 사용합니다 이제 이것이 Xcode 안에 직접 통합됩니다 클릭 한 번으로 어떤 변화든 적용했다 풀었다 할 수 있고 코드 창을 떠나지 않고도 다음 커밋을 만들 수 있죠 소스 컨트롤 탐색기에서 모든 변화를 한 번에 검토할 수 있어 커밋에 마지막 수정을 가하도록 돕습니다 Xcode는 푸시되지 않은 커밋도 보여 줍니다 완벽한 타이밍에 모든 커밋을 Pull Request에 모을 수 있죠 테스트 이야기를 해 봅시다 고품질 앱을 만들기 위한 필수적인 부분이죠 코드가 여러 플랫폼, 기기 언어, 사용자 기능으로 커져 가면서 테스트 결과 탐색과 살펴볼 부분을 아는 것이 어려울 수 있습니다 Xcode 15에서는 테스트 리포트가 완전히 재설계됐습니다 새로운 도구로 결과를 더 잘 이해하고 조치하게 해 주죠 이는 아름다운 결과 개요로 시작됩니다 일반적인 실패 패턴을 포함한 Top Insight를 보여 줍니다 같은 assertion 메시지를 가진 것들처럼요 또한 기기, 언어 등 여러 설정에서 실행된 테스트의 포괄적인 요약도 나오죠 그게 패턴을 찾는 걸 돕습니다 그리고 어디를 살펴볼지 간단히 보여 주는 히트맵도 있죠 Backyard Birds 앱의 기능을 작업하고 있었습니다 최근 테스트를 보면 몇 가지 문제가 보이죠 먼저 이 인사이트를 클릭해 보겠습니다 탭 제스처가 새 테스트에서 실패하고 있는 것 같군요 이 실패한 테스트를 클릭하면 테스트 활동의 자세한 뷰가 왼쪽에 나타납니다 오른쪽에는 앱의 UI가 전부 녹화되어 나타나죠 특정 활동을 선택할 수 있습니다 또는 새 타임라인을 사용해 어느 순간으로든 이동할 수 있죠 흥미로운 부분 표시도 보입니다 테스트에서 이 뷰를 스크롤했을 때나 검색창을 탭했을 때처럼요 훨씬 자세히 볼 수 있는 전체 녹화 영상입니다 테스트가 실패하기 전에 무슨 일이 있었는지 보여 주죠 재생해서 살펴보겠습니다
여기서는 테스트에서 새의 먹이를 선택합니다 새가 날아다니기 시작하고 활동이 완료되기 전에 사라지죠 그래서 테스트가 실패한 겁니다 새로운 테스트 세부 요소인 타임라인과 영상 녹화로 애니메이션, 제스처 기타 UI 경험의 테스트 검토가 훨씬 빨라집니다 영상보다 많은 게 필요할 때는 접근성 프레임도 볼 수 있어 뷰에 대한 더 많은 인사이트를 주죠 모두 결합된 새 리포트 경험은 깊은 인사이트와 더 자세한 내용 더 많은 상호작용을 제공해 테스트로 더 많은 것을 얻게 해 줍니다 Xcode와 Xcode Cloud에서 매끄럽게 작동하죠 Xcode Cloud는 연속적 통합 및 전달 서비스로 모든 Apple 플랫폼에서 빌드, 테스트, 공유를 돕습니다 Xcode에 깊이 통합되어 한 곳에 집중하게 해 줘서 시간을 아끼게 해 주죠 Apple의 클라우드 인프라를 이용해 빌드, 테스트 배포를 위한 코드 서명까지 도맡아 줍니다 TestFlight, App Store Connect 등 Apple 서비스와 연결되며 고급 보안이 탑재되어 개인정보와 프로젝트를 보호하죠 작년, 우리는 Xcode Cloud를 모든 Apple 개발자 프로그램의 회원에게 제공했습니다 수만 개 팀이 자신의 프로젝트를 Xcode에서 바로 올렸고 그 평가는 아주 훌륭했습니다 우리는 계속해서 Xcode Cloud를 더 발전시켰습니다 우리는 성능을 아주 중요하게 여깁니다 작년부터 우리는 엄청난 투자를 진행해 컴퓨팅 타임에 더 많은 걸 할 수 있습니다 또한 여러분의 가장 중요한 요청도 반영했죠 이제 TestFlight로 배포할 때 테스터 노트를 생성하고 공유해 모든 사용자에게 최신 개선 사항을 알릴 수 있습니다 또한 Xcode Cloud는 DeveloperID로 배포할 때 macOS 공증을 지원해 사용자에게 공유하기 전에 앱의 악성 컴포넌트를 자동으로 점검할 수 있죠 몇 분 만에 작업흐름을 설정해서 컴퓨팅 타임 수 시간을 활용해 여러분의 앱을 빌드 테스트, 배치할 수 있습니다 우리는 Xcode Cloud의 미래가 기대됩니다 계속해서 더 빠르고 안전하고 유연하게 만들고 있죠 작년 한 해 동안 우리는 컴파일러를 Apple Silicon의 멀티 코어 아키텍처에 최적화해 여러분의 모든 빌드를 더 빠르고 스케일 가능하게 만들었습니다 링커는 기초부터 다시 설계했으며 링크 속도에 엄청난 향상을 가져왔습니다 링크가 최대 5배 빨라지죠 새로운 링커는 디버그 바이너리의 사이즈를 최대 30% 줄입니다 수많은 프레임워크를 탑재한 앱들을 위한 새로운 프레임워크 타입이 있어 개발 과정에서 더 빠른 빌드를 제공하고 앱 사이즈를 줄이고 실행 속도를 향상하죠 계속해서 Xcode를 더 빠르고 쉽게 시작할 수 있도록 만들고 있습니다 Mac App Store에서 Xcode는 이제 50% 더 작아졌고 시뮬레이터는 필요에 따라 다운로드할 수 있습니다 그래서 재빨리 시작할 수 있고 제때 필요한 플랫폼을 설치할 수 있죠 이제 대린에게 돌아가 보시죠 함께 작동하는 언어, 프레임워크 도구, 서비스 개발이라는 우리 뛰어난 접근 방식이 새 플랫폼의 도입으로 생명을 얻었습니다 공유 기반의 사용은 플랫폼에 익숙함을 더해 주면서 개별적인 강점이 빛나게 해 줍니다 visionOS는 수년 동안의 우리 플랫폼에 대한 투자를 적극 활용하고 이런 접근 방식의 이익을 보여 주고 있습니다 마이크에게 자세히 들어 보시죠
Apple Vision Pro의 런칭은 공간 컴퓨팅을 향한 여정의 시작을 알립니다 이제 이전까지 인식되던 가능성의 범주를 넘어서서 연결, 생산성 엔터테인먼트의 의미를 재정의할 수 있게 됐죠 Vision Pro는 여러 혁신적인 기술을 가졌습니다 여러분의 앱은 새 엘리먼트를 통해 사용자의 공간과 상호작용하여 방에 매끄럽게 녹아들게 되죠 이는 전부 여러분이 이미 아는 강력한 기술로 가능한 것입니다 SwiftUI, RealityKit, ARKit가 visionOS로 확장됐습니다 이 견고한 기반과 업데이트된 개발자 도구들로 여러분은 마치 집처럼 편안하게 Apple Vision Pro를 위한 새로운 앱들을 만들게 될 겁니다 오늘은 visionOS를 시작하기 위한 모든 걸 다룰 겁니다 기초적인 구성 요소부터 필수적인 프레임워크, 도구 기술까지 말이죠 여러분이 Vision Pro에서 앱에 생명을 불어넣는 것을 지원하기 위한 활동과 프로그램을 배우게 될 겁니다 그 앱들은 Vision Pro의 무한한 캔버스를 활용하거나 방을 몰입감 있는 미디어 환경으로 바꿔 놓을 겁니다 소매를 걷어붙여 봅시다 Vision Pro는 앱 경험의 가능성 범주를 재정의하게 해 주죠 앱의 종류와 상관없이 3D인 사용자의 공간에서 어떻게 존재할지 이해해야 합니다 이는 개발자로서 결정을 내릴 때 정보를 제공해 주죠 그런 이해는 Vision Pro의 능력을 활용하도록 돕고 앱에 지금까지는 불가능했던 수준의 흡인력과 몰입도를 부여해 줍니다 앱은 기본적으로 공유 공간에서 실행됩니다 공유 공간은 앱이 나란히 존재하는 곳으로 Mac 데스크탑에 나열된 앱과 같습니다 사용자가 원하는 곳에 앱을 배치할 수 있죠 공간 안에서 사용할 수 있는 엘리먼트를 이야기해 봅시다 먼저 친숙한 윈도우입니다 visionOS에서는 앱이 하나 또는 그 이상의 윈도우에서 열립니다 이는 SwiftUI 장면이며 기대한 대로 움직입니다 창공의 비행기처럼요 기존 방식의 뷰와 컨트롤을 사용할 수도 있고 3D 오브젝트와 RealityViews도 지원해 3D 콘텐츠와 2D 콘텐츠를 나란히 표시할 수 있죠 추가로 앱이 3차원 볼륨을 생성할 수 있으며 이 또한 SwiftUI 장면으로서 3D 오브젝트를 표시합니다 게임 보드나 지구본처럼요 볼륨은 이 공간에서 돌아다니며 모든 각도에서 볼 수 있죠 어떤 경우에는 앱의 몰입도를 더 세세히 제어하길 원할 겁니다 영상 시청, 게임 플레이 프레젠테이션 연습 등을 위해서요 전용 풀 스페이스를 열어 할 수 있습니다 여기서는 오직 여러분의 앱 윈도우, 볼륨, 3D 오브젝트만 사용자에게 보이죠 이것이 공간 컴퓨팅의 기초적인 엘리먼트입니다 윈도우, 볼륨, 공간이죠 이는 몰입감의 연속체를 포괄하는 앱의 개발을 위한 유연한 도구들을 제공합니다 앱 개발을 시작하는 방법에 관해 제프에게 들어 보시죠 Vision Pro는 여러 다양한 앱을 지원합니다 기존 iPad와 iPhone 앱도 지원되며 각각 단일 스케일러블 2D 윈도우로 기존 분위기가 유지되죠 하지만 이는 시작일 뿐입니다 그 핵심에 있는 visionOS는 iPadOS, iOS와 유사하며 동일한 기초 프레임워크를 다수 포함하고 있죠 SwiftUI와 UIKit를 사용해 사용자 인터페이스를 제작하고 RealityKit로 3D 콘텐츠와 애니메이션, 시각 효과를 선보이고 ARKit로 사용자 주변 공간을 인식합니다 이 모든 게 visionOS SDK에 포함돼 있죠 여러분의 앱을 Vision Pro로 가져오려면 뭘 해야 할까요? 먼저 Xcode에서 visionOS 목적지를 프로젝트에 추가합니다 이제 리빌드할 때 앱이 자동으로 아주 멋지게 개선되죠
visionOS 분위기의 머티리얼 눈과 손 입력에 맞춰진 사이즈 조절 가능 윈도우 사용자화 컨트롤을 위한 수정 하이라이트 접근 권한으로요 visionOS 전용 코드를 추가해 앱을 윈도우, 볼륨, 공간으로 확장할 수 있습니다 여기서 SwiftUI RealityKit, ARKit의 확장된 능력을 활용하기 시작할 수 있죠 엔리카에게 들어 보시죠 visionOS에서는 많은 프레임워크가 공간 경험을 지원하도록 확장됐습니다 SwiftUI로는 이제 윈도우에 심도를 더하거나 3D 오브젝트를 추가할 수 있죠 iOS와 macOS에서 ZStack은 보통 뷰의 레이어링에 사용됩니다 visionOS는 더 나아가서 심도로 이를 분리할 수 있죠 이는 2차원 앱에 3차원 느낌을 더해 줍니다 UI 엘리먼트에 미묘한 심도 변화를 더할 수 있습니다 새로운 z 오프셋 뷰 변경자를 사용하면 되죠 높은 오프셋 값은 낮은 값의 뷰 앞에 뷰를 표시하고 이를 사용해 강조를 나타내거나 양상의 변화를 보여 줄 수 있습니다 선택한 사항의 세부 내용을 보여 주는 것처럼요 추가적인 뷰 변경자로는 너비, 높이, 깊이를 더 세밀히 제어할 수 있습니다 Vision Pro에서는 제스처도 추가적인 공간을 인식합니다 누구나 화면에서 오브젝트를 드래그하는 데 익숙합니다 이제 사람들은 물리적 공간에서 오브젝트를 옮기거나 돌릴 수 있죠 SwiftUI로 볼륨도 생성할 수 있습니다 앱 윈도우와 나란히 둘 수 있고 공유 공간에서 실행하면 다른 앱들과 나란히 위치하죠 SwiftUI 윈도우와 볼륨은 풀 스페이스에도 둘 수 있습니다 3D 오브젝트와 SwiftUI 요소를 사용자의 방 어디든 둘 수 있는 거죠 SwiftUI는 앱을 visionOS에 빠르고 쉽게 가져올 뿐만 아니라 완전히 몰입감 있는 경험을 렌더링할 수도 있습니다 또한 SwiftUI는 이제 RealityKit를 통해 렌더링해서 SwiftUI와 RealityKit API를 쉽게 혼합할 수 있죠 오너먼트, 머티리얼, 부유 효과 등 UI 향상 요소를 활용할 수 있습니다 오너먼트는 UI 컴포넌트를 윈도우와 볼륨에 붙이게 해 줍니다 툴바나 메뉴 같은 것에 아주 좋죠 부유 효과는 시선에 반응해 UI 엘리먼트를 강조합니다 시스템 컨트롤은 이런 효과가 자동으로 적용되고 여러분의 사용자화 컨트롤은 강조될지 빛날지 선택할 수 있죠 머티리얼은 사용자 주변 세상에 적응합니다 역동적인 흐림과 선명함이 어떤 상황에도 앱의 가독성을 높입니다 우리 다른 플랫폼과 마찬가지로 visionOS 앱 개발에는 SwiftUI 사용을 권장합니다 UIKit로 개발한 기존 앱 또한 visionOS용으로 다시 컴파일하여 오너먼트, 부유 효과, 머티리얼 자연스러운 분위기를 이용할 수 있죠 SwiftUI는 visionOS의 공간 경험을 개발하는 데 사용할 여러 프레임워크 중 하나일 뿐입니다 에드윈이 여러분께 도움이 될 만한 몇 가지를 소개할 겁니다 여러분의 앱을 확장해 역동적인 3D 모델, 애니메이션 시각 효과를 넣을 준비가 됐다면 RealityKit를 사용하는 것이 좋습니다 Apple의 3D 렌더링 엔진으로서 기초부터 공간 경험 렌더링을 위해 만들어졌죠 RealityKit와 SwiftUI는 함께 2019년에 도입됐으며 독립적인 프레임워크였습니다 Apple Vision Pro에서는 둘이 깊이 통합되어 선명하고 즉각 반응하는 입체적 인터페이스를 만들 수 있죠 3D 콘텐츠를 SwiftUI 뷰와 스테이트에 결합해 2D와 3D 시각 엘리먼트를 매끄럽게 엮을 수 있습니다 RealityKit는 물리 조명 조건에 자동으로 적응하고 바닥과 탁자에 그림자를 드리워 현실적인 경험을 제공합니다 그러면 여러분의 앱이 원래 방에 있던 것처럼 느껴지죠
RealityKit는 엄청난 새 능력도 갖췄습니다 3D 장면에 포털을 생성하는 능력도 있는데요 Keynote에서 보셨던 공룡 같은 거죠 굉장히 선명한 텍스트 렌더링으로 편안하게 읽을 수 있고 사용자화 머티리얼 시스템으로 멋진 시각 효과를 생성합니다 추가로, 렌더링의 효율성이 Apple Vision Pro에서 훨씬 높아집니다 다이내믹 포비에이션 기술 덕이죠 RealityKit는 아이트래킹을 이용해 사용자의 초점 영역을 아주 높은 해상도로 선택적으로 렌더링해서 주변부 콘텐츠의 렌더링 비용을 줄이고 앱이 기기의 프로세싱 능력을 최대한 활용하게 해 줍니다 RealityKit는 3D 모델을 매우 사실적으로 렌더링합니다 물리 프로퍼티를 명시하게 해 주는 거죠 유광인지 메탈릭인지처럼요 기본적으로는 RealityKit이 가상 콘텐츠를 렌더링해서 그 조도는 실제 방의 조명 조건과 연동됩니다 사용자화하거나 창의적 의도에 따라 현실성을 더하고자 한다면 이미지 기반 조명 자산 또는 IBL을 제공해 개별 설정할 수 있죠 머티리얼 저작을 위해 RealityKit는 MaterialX를 쓰는데 서페이스 및 지오메트리 셰이더 명시를 위한 공개 표준으로서 영화, 시각효과, 엔터테인먼트 게임 회사들이 사용하는 것이죠 업계 최고의 창작 도구들이 MaterialX를 지원하여 셰이더 작성이 더욱 쉬워집니다 MaterialX는 개별 머티리얼을 디자인하고 빠르게 반복하게 해 줍니다 셰이딩 프로퍼티를 정의하게 해 주는 거죠 머티리얼의 리퍼지토리에서 선택할 수 있고 Houdini나 Maya 같은 유용한 도구도 있어 여러분만의 사용자화 셰이더 저작에 사용할 수 있죠 RealityKit는 RealityView라는 새로운 SwiftUI 뷰를 제공합니다 RealityView는 윈도우, 볼륨 공간 안에서 사용할 수 있어 3D 콘텐츠를 여러분이 제어하는 장면 어디든 배치하게 해 줍니다 어태치먼트도 지원해 2D SwiftUI 뷰를 3D 콘텐츠에 탑재하게 해 주죠 SwiftUI와 RealityKit과 함께 사용자의 주변 환경을 최대한 활용하게 해 주는 세 번째 강력한 프레임워크는 ARKit입니다 ARKit는 사용자 주위 공간을 인식해 앱 콘텐츠가 방과 상호작용하게 합니다 바닥에서 튀는 공이나 벽에서 튀는 물처럼요 ARKit는 visionOS 상에서 실시간 알고리즘을 실행시켜 다수의 핵심 시스템 능력을 발휘하게 합니다 이 알고리즘은 상시 작동합니다 어떻게 만들어진 앱이든 공유 공간에서 자동으로 ARKit의 이점을 누린다는 거죠 지속성과 월드 매핑은 시스템에서 다뤄집니다 세그멘테이션, 매팅, 환경 조명은 자동으로 전체 공간에 적용됩니다 사용자의 승인이 있으면 ARKit 기능이 풀 스페이스 앱에서 바로 사용 가능해집니다 풀 스페이스 안에서 앱은 현실적으로 방과 상호작용합니다 ARKit의 평면 추산 장면 재구축, 이미지 앵커링 월드 트래킹을 이용하는데요 iOS의 ARKit와 동일한 앵커 개념을 사용합니다 이는 기존 ARKit 앱을 visionOS로 쉽게 이식하게 해 주죠 visionOS에서는 스켈레탈 핸드 트래킹을 이용할 수 있습니다 핸드 트래킹을 이용해 앱을 위한 사용자화 제스처를 생성하거나 디지털 정보로 사용자의 손을 증강할 수 있죠 ARKit는 iOS에 도입한 동일한 스켈레탈 모델의 관절 위치 및 방향을 제공합니다 SwiftUI, RealityKit, ARKit의 통합적 접근 방식 덕분에 여러분이 수년 동안 Apple 플랫폼에 들인 학습과 투자를 그대로 활용할 수 있죠 앱의 접근성을 위해 들인 노력도 마찬가지입니다 이는 특히 의미 있습니다 공간 컴퓨팅은 접근성의 새로운 기회를 열어 주기 때문이죠 Apple Vision Pro에서는 지체나 운동 장애를 가진 사용자가 오직 눈이나 목소리 또는 둘의 조합만으로 기기와 상호작용할 수 있습니다 또한 검지손가락, 손목 또는 머리를 Vision Pro 조작을 위한 대체 포인터로 설정할 수 있죠 여러분은 우리 다른 플랫폼에서 수년 동안 사용했던 같은 기술로 visionOS에서 앱에 접근성을 더할 수 있습니다 접근성 분석기가 여러분의 visionOS 앱의 접근성 문제를 분석해 접근성을 더할 방법을 제안합니다 접근성 지원이 우리 프레임워크에 내장돼 있어서 쉽게 여러분의 visionOS 앱과 경험을 장애를 가진 사용자에게 전달할 수 있죠 VoiceOver가 앱 내의 오브젝트를 시각장애인이나 저시력자에게 묘사하게 할 수도 있습니다 오브젝트의 물리적 모습 같은 정보를 담은 라벨과 설명을 추가하면 되죠 사용자 설정을 넣어서 디자인으로 앱에 접근성을 더할 수 있습니다 더 큰 텍스트 사이즈를 위한 다이내믹 타입 가독성을 위한 투명도 감소 헤드 고정 콘텐츠의 대체 등이죠 이런 친숙한 API와 도구를 사용함으로써 전 세계 사용자를 위해 공간 컴퓨팅에 접근성을 더하는 데 여러분의 앱이 큰 역할을 할 겁니다 visionOS 앱 개발에 쓸 수 있는 강력한 프레임워크를 소개해 드렸습니다 이제 여러분께 제공될 도구에 관해 테사에게 들어 보시죠 Vision Pro를 위한 앱 개발을 시작하면 프레임워크 이상의 것을 인식하게 될 것입니다 우리 개발자 도구들은 visionOS 지원이 업데이트됐죠 우리 다른 플랫폼처럼 Xcode가 Vision Pro 경험 개발의 핵심에 있습니다 기존 프로젝트에 visionOS 목적지를 추가하거나 이 플랫폼의 고유한 능력에 맞춘 완전히 새로운 앱을 만들 수도 있죠 앱 개발의 첫 단계는 2D와 3D 콘텐츠 모두 적절히 디자인하는 것입니다 Xcode 미리 보기는 에디터를 나가지 않고도 빠르게 반복 시연하게 해 주죠 앱 전체를 테스트할 때는 시뮬레이터로 이동할 수 있습니다 이는 앱을 실행하고 디버깅할 강력한 환경을 제공하죠 키보드, 트랙패드 호환되는 게임 컨트롤러를 이용해 장면을 움직이며 살펴볼 수 있습니다 시스템 제스처를 시뮬레이션해서 앱과 상호작용할 수 있죠 시뮬레이터는 3차원 장면 시뮬레이션도 제공해 주간 및 야간 조명 조건을 보여 주어 앱 시각화를 돕습니다 Vision Pro에서 개발한다면 기기에서 앱을 개발하고 실행해 확실한 작동을 보장하게 됩니다 작업 방식을 바꿔 놓을 추가 기능을 소개하게 되어 기쁩니다 Mac 가상 디스플레이는 Mac의 고화질 4K 가상 모니터를 눈길 한 번으로 Vision Pro로 가져옵니다 Mac의 모든 능력을 기기 내에서 사용할 수 있고 이는 Xcode도 마찬가지입니다 이것은 놀라운 종단간 개발 경험입니다 앱의 코딩, 테스트, 디버깅을 전부 Vision Pro에서 할 수 있고 어떤 방해나 맥락 단절도 겪지 않을 수 있죠 때로는 앱의 콘텐츠가 현실 세계와 어떻게 연동되는지 깊이 파고들 필요가 있죠 앱이 사용자의 방과 상호작용할 때 독특한 문제가 발생할 수 있습니다 3D 콘텐츠가 시각적으로 벽을 뚫는다든지요 Xcode는 실용적인 디버깅 시각화를 제공해 여러분의 3D 콘텐츠와 관련된 충돌, 겹침 장면 이해를 살펴보게 해 줍니다 이런 시각화는 시뮬레이터와 Vision Pro에서 모두 작동합니다 여러분의 visionOS 앱을 발전시키면 공간을 더욱 활용하고 평면 윈도우의 경계를 뚫고 나가고 사용자에게 이전과는 다른 3D 경험을 제공하게 될 겁니다 이를 제대로 해내려면 새로운 시각 도구가 필요하죠 그래서 Reality Composer Pro를 만들었습니다 Reality Composer Pro는 visionOS 앱의 3D 콘텐츠를 미리 보고 준비하게 해 줍니다 3D 모델, 애니메이션, 이미지 사운드 등 자산을 불러올 수 있고 Xcode 빌드 과정과 긴밀하게 통합되어 여러분의 자산을 Vision Pro에 최적화합니다 쉽게 콘텐츠를 Vision Pro로 보내서 미리 보기, 사이즈 조절, 회전을 실시할 수 있죠 언제든 변화를 주고 코드를 입력하기도 전에 콘텐츠의 모습을 볼 수 있습니다 제이슨이 보여 드릴 겁니다 제가 예제 프로젝트를 하나 작업하고 있는데요 여러분을 태양계로 데려가 주는 프로젝트죠 제 3D 콘텐츠가 Vision Pro에서 잘 표시되도록 Reality Composer Pro를 사용해 지금 업데이트하려고 합니다 먼저 위성 모델과 이미지를 불러옵니다 제 3D 모델링 애플리케이션으로 만든 거죠 이 모델은 세부 요소가 많지만 현재는 머티리얼이 없습니다 Reality Composer Pro에서 사용자화 머티리얼을 생성하고 셰이더 그래프로 넘어가서 사용자화하겠습니다 간단한 이미지와 기능 노드를 추가해 오브젝트의 모습을 바꾸는 것은 쉽고 재미있습니다 전부 코드 작성이 필요 없죠 즉시 시험하고 결과를 볼 수 있고 셰이더를 직접 입력해 일어나는 컴파일 에러가 생기지 않습니다 이를 다른 노드에도 반복하겠습니다 언제든 제 Vision Pro에서 제 작업을 미리 볼 수 있죠 크기를 조절하고 움직이고 돌려서 원하는 모습인지 확인할 수 있습니다 이 변화가 마음에 드네요 그리고 다시 Xcode로 넘어가면 변경 사항이 제 프로젝트에 반영돼 있고 Xcode 미리 보기나 시뮬레이터에서 사용할 수 있게 됩니다 이렇게 코드로 옮겨서 앱에 사용할 준비가 되었죠 Reality Composer Pro를 통해 visionOS 개발 과정에 Xcode와 함께 작동하는 새 강력한 도구가 생겨서 미리 보기를 만들고 3D 콘텐츠를 준비하는 것이 코드 빌드 및 실행처럼 쉬워졌습니다 앱의 베타 테스트를 할 때는 TestFlight를 Vision Pro에서 처음부터 사용할 수 있습니다 새 빌드를 TestFlight로 제출하세요 App Store Connect Xcode, XcodeCloud를 사용할 때처럼요 테스터는 그걸 설치하고 가치 있는 피드백을 제공합니다 네이티브 TestFlight 앱에서요 또한 Vision Pro에서 호환되는 iPad와 iPhone 앱의 베타 빌드에 접근할 수 있습니다 Xcode부터 TestFlight까지 이 개발 도구 및 서비스들과 함께 Reality Composer Pro가 도입되어 Vision Pro를 위한 멋진 앱을 수월하게 만들게 될 것입니다 이제 마이크에게 돌아가 보시죠 많은 분이 수년을 들여 Unity로 3D 앱과 게임을 개발했습니다 여러분의 앱을 쉽게 Vision Pro로 가져오게 하기 위해 Apple과 Unity가 심층적으로 협력해 Unity의 실시간 엔진을 RealityKit 위에 쌓고 그들의 개발 도구가 visionOS를 목적지로 설정하도록 했습니다 이는 Unity로 만든 앱이 공유 공간에서 다른 visionOS 앱과 공존할 수 있고 Apple Vision Pro 고유의 이점을 최대한 활용할 수 있다는 뜻이죠 이를 자세히 설명해 드릴 Unity의 랄프를 소개합니다 감사합니다, 마이크 visionOS에 심층적인 통합을 위해 Apple과 협력하게 되어 아주 기대됩니다 이제 Unity의 탄탄하고 친숙한 저작 도구를 사용해 새로운 visionOS 게임과 앱을 만들 수 있습니다 기존의 Unity 제작 프로젝트를 Vision Pro로 가져와서 여러분의 경험을 새 플랫폼에서 재해석할 수 있죠 여러분의 앱은 visionOS의 모든 이점을 누리게 됩니다 고해상도 패스 스루와 다이내믹 포비에이션 렌더링과 AR 파운데이션처럼 이미 친숙한 Unity 기능 등이죠 이런 Unity와 visionOS의 심층적 통합으로 여러분의 앱은 공유 공간에서 다른 앱들과 나란히 배치됩니다 Unity의 저작 및 시뮬레이션 능력과 RealityKit의 관리된 앱 렌더링의 결합으로 Unity로 생성한 콘텐츠가 visionOS에서 자연스럽게 작동하죠 우리 커뮤니티, 튜토리얼과 템플릿으로 Unity를 빠르게 시작하실 수 있습니다 우리는 Apple Vision Pro가 공간 컴퓨팅의 새 지평을 열었다고 믿으며 여러분이 만들 새로운 앱과 게임이 정말 기대됩니다 감사합니다, 랄프 함께해서 정말 좋았어요 visionOS에는 핵심적인 기능이 몇 가지 더 있습니다 다음 단계를 계획할 때 꼭 알아야 할 것들이죠 제프가 자세히 말씀드릴 겁니다 Vision Pro의 앱 제작에 사용하는 프레임워크는 두 가지 목표를 염두에 두고 설계됐습니다 이 플랫폼의 강력한 하드웨어와 소프트웨어를 최소한의 노력으로 활용하고 사용자 개인정보를 보호하는 거죠 이런 원칙은 시스템 전반에서 확인하실 수 있습니다 앱이 주변 환경에 녹아드는 방식부터 자연스러운 사용자 상호작용과 협업의 새로운 가능성까지 말이죠 visionOS는 사용자 주변 환경의 3D 모델을 구축해 현실적인 조명과 그림자를 구현합니다 그 결과, 앱은 주변 세상에 자연스럽게 녹아들면서 카메라 데이터는 필요로 하지 않죠 visionOS는 동일한 3D 모델을 사용해 여러분의 앱에서 새로운 수준의 공간 음향을 가능하게 합니다 현실에서는 소리가 공간에서 울립니다 벽과 가구에 반사된 뒤에 사람의 귀에 도달하죠 앱의 가상 음향도 동일한 방식이어야 합니다 이는 사용자 주변 환경에 대한 정교한 이해를 요구하죠 visionOS의 PHASE 공간 음향 엔진은 음향 감지와 3D 장면 인식을 결합해 공간의 소리 특성을 자세한 모델로 생성합니다 사운드 소스와 사용자가 환경에서 돌아다니기 때문에 PHASE는 음향 레이 트레이스 시뮬레이션을 실시간 업데이트하죠 이 모델은 Apple의 사용자화 공간 음향 기술과 결합해 개인마다, 주변 환경마다 자동으로 경험을 맞춤 제작합니다 이 모든 놀라운 복잡성은 여러분을 위해 관리되며 사용자의 물리 공간에 대한 세부 정보에 접근할 필요가 없죠 RealityKit로는 소리가 어디서 들려올지 정하기만 하면 됩니다 visionOS가 자연스럽게 현실 세계에 녹여 내죠 앱에 현실적인 조명과 음향을 부여하는 알고리즘과 마찬가지로 visionOS의 사용자 입력도 자동으로 작동하며 설계부터 개인정보를 보호합니다 부유 효과는 SwiftUI나 RealityKit로 제작된 모든 UI 엘리먼트에 자동으로 렌더링됩니다 사용자가 버튼을 보면 탭하기 전에 강조됩니다 마우스 클릭이나 iPhone에서의 탭처럼 사용자가 손가락으로 탭하면 앱에 선택 사항이 전달되죠 사용자는 필요한 시각적 피드백을 얻고 여러분은 예상대로 상호작용을 얻습니다 사용자가 탭하기 전에 어디를 보는지 알 필요는 없죠 공유와 협업 공유와 협업은 Vision Pro 경험의 핵심에 있습니다 macOS와 마찬가지로 Vision Pro 사용자는 FaceTime으로 어떤 윈도우든 공유할 수 있죠 SharPlay로 차세대 공유 경험이 가능해집니다 앱이 GroupActivities API로 SharePlay를 채택하면 각 윈도우의 공유 컨트롤에 옵션이 추가되어 통화 중인 모든 이에게 여러분의 앱이 실행되죠 이로써 진정한 공유 경험에 참여할 수 있습니다 실시간으로 말이죠 앱이 어떻게 협업에 사용될지는 여러분이 결정합니다 우리 다른 플랫폼에서 SharePlay로 그랬듯이요 FaceTime 통화 중인 Vision Pro 사용자는 페르소나로 다른 참가자에게 나타납니다 고급 머신 러닝 기술로 생성된 자연스러운 대표 이미지로서 사용자의 얼굴과 손 움직임을 역동적으로 따르죠 페르소나는 3차원 볼륨과 심도로 다른 Vision Pro 사용자에게 나타납니다 Vision Pro에서 FaceTime을 더 높은 수준으로 향상하고 실제로 함께 방에 있는 것처럼 소통하게 하고 싶었습니다 이 경험은 아직 초기 형태이며 여기서 최초로 공유하게 되어 기쁩니다 공간 페르소나는 Vision Pro 사용자가 FaceTime 타일에서 벗어나 더 존재감 있게 같은 공간에 있는 느낌을 줍니다 visionOS는 사용자와 앱이 동일한 콘텐츠를 공유하게 하죠 여러분의 앱은 SharePlay로 이 새로운 콘텍스트를 활용합니다 사용자 간에 앱 내의 변화를 동기화하는 것을 넘어서 사용자의 물리적 행동에 반응할 수 있어 Freeform 칠판에 함께 서 있거나 보드게임의 말을 옮기는 것이 자연스럽게 느껴집니다 여러분의 앱이 이 새로운 경험에 참여했으면 합니다 계속해서 발전하려면 여러분의 피드백이 중요하죠 그래서 공간 페르소나의 개발자 미리 보기를 올해 출시하려고 합니다 이는 visionOS로 이용할 수 있는 풍부하고 광범위한 기술의 일부에 불과합니다 여기서 어떻게 더 발전할지 린다에게 들어 보시죠
이제 Apple Vision Pro와 visionOS를 소개했으니 다음은 뭘까요? 여러분의 개발 여정은 오늘 시작됩니다 깊이 파고들어서 최대한 배우실 것을 권장합니다 Vision Pro를 위한 설계, 개발 테스트를 시작하려면요 visionOS SDK를 비롯해 업데이트된 Xcode와 시뮬레이터 그리고 Reality Composer Pro는 이번 달에 출시되어 여러분의 아이디어를 작업하기 시작하실 수 있습니다 또한 visionOS를 위한 광범위한 기술 문헌 새로운 디자인 키트와 도구 업데이트된 휴먼 인터페이스 가이드라인에 접근하실 수 있죠 Vision Pro 시뮬레이터와 더불어 여러분의 앱이 Vision Pro에서 어떻게 작동할지 보는 옵션도 있습니다 올여름, Apple Vision Pro 개발자 랩을 런칭합니다 여기서 Vision Pro 하드웨어로 여러분의 앱을 테스트할 수 있죠 직접적인 지원이 제공되고 여러분의 경험을 미리 보기 할 수 있습니다 Vision Pro가 고객에게 공개되기 전에 말이죠 이 랩은 세계 여러 장소에 열릴 예정입니다 이곳 쿠퍼티노의 Developer Center에도 열리죠 여러분이 어디에 있든 우리에게 요청을 보내 여러분 앱의 Vision Pro 호환성을 평가받으실 수 있습니다 우리가 여러분의 앱을 설치해 발견되는 문제를 공유해 드리죠
이 멋진 기회의 최신 소식을 받으시려면 Developer 웹사이트를 방문하세요 물론 Vision Pro는 새로운 App Store를 런칭합니다 여러분이 만든 놀라운 앱을 여기서 찾고 다운로드할 수 있죠 이 플랫폼을 위한 아이디어를 공유해 주세요 여러분이 그걸 실현하는 것을 계속해서 지원하겠습니다 이제 대린에게 돌아가 보시죠 참 기대되는 한 해입니다 visionOS가 주는 놀라운 기회와 각 플랫폼의 정성 어린 추가 사항인 WidgetKit를 통한 앱을 띄울 공간 추가 연속성 카메라의 확장 그리고 watchOS의 새로운 디자인 또 Macros와 Swift Data를 통한 Swift의 대규모 개선 그리고 Xcode 미리 보기의 대형 업그레이드까지 올해의 언어, 프레임워크, 도구 서비스에 걸친 발전 사항은 우리 모든 플랫폼의 수십억 개의 기기를 위한 고유의 경험을 만드는 것을 돕고자 하는 우리의 깊은 열정을 잘 보여 줍니다 이 플랫폼들은 계속 늘어나는 다양한 범위의 제품을 높은 수준의 일관성과 통합성으로 포괄하여 개발자와 사용자에게 차이를 만들어 줍니다 우리 플랫폼의 새로운 소식을 성공적으로 훑어봤는데요 앞으로도 175개의 심도 있는 영상 세션이 있습니다 visionOS만 40개가 있죠 여기에 Apple 전문가가 배치된 200개의 랩에서 여러분이 훌륭한 앱을 개발하며 가진 의문에 답을 드립니다 그 어느 때보다 Apple 개발자로 활동하기 좋은 때죠 분명 여러분의 작품은 사용자에게 놀라움과 즐거움을 줄 것입니다 환상적인 WWDC를 즐기시기 바랍니다! ♪ ♪
♪ ♪
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.