English topic guide inspired by the original iOS Developer Notebook, expanded for both iOS and Android teams.
import PhotosUI
@State private var item: PhotosPickerItem?
PhotosPicker("Select photo", selection: $item, matching: .images)
.onChange(of: item) { _ in Task { _ = try? await item?.loadTransferable(type: Data.self) } }
val launcher = rememberLauncherForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
uri?.let { viewModel.onImageSelected(it) }
}
launcher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))