SwiftUI単体で共有体験の実装が可能に
PhotosPickerによる写真の取り込み
iOS 15以前ではSwiftUI単体でアプリから画像ファイルの取得を行うことはできず、UIKitとの連携が必要となっていました。これがiOS 16からはPhotosUIフレームワークに含まれるPhotosPickerを用いることで簡単に実現可能になります。具体的には、下記のようなコードを記述するだけで、画像選択のシステムUIが表示可能になります。
NavigationView { VStack { Text("PhotosPicker") }.toolbar { PhotosPicker(selection: $selection, maxSelectionCount: 10, matching: .images) { Label("Pick a photo", systemImage: "plus.app") } } }
ShareLinkを用いたシェアシートの提供
共有ボタンの設置もSwiftUIだけで完結できるようになりました。ShareLinkコンポーネントを用いることで実現可能です。ボタンはシステムによって自動生成され、タップをすると標準のシェアシートが表示されるので、より簡単に共有体験をユーザーに提供できるようになっています。