image_picker_ios
0.8.13+14iOS implementation of the image_picker plugin.
Readme
image_picker_ios
The iOS implementation of image_picker.
Usage
This package is endorsed, which means you can simply use image_picker
normally. This package will be automatically included in your app when you do,
so you do not need to add it to your pubspec.yaml.
However, if you import this package to use any of its APIs directly, you
should add it to your pubspec.yaml as usual.
Changelog
0.8.13+14
- Migrates the view provider from Objective-C to Swift.
- Migrates the PHPicker save operation from Objective-C to Swift.
- Migrates image, metadata, and photo-asset utilities from Objective-C to Swift.
- Keeps animated GIFs looping when the source metadata dictionary is immutable.
0.8.13+13
- Splits the iOS implementation into mixed-language Swift Package Manager targets.
- Migrates the plugin class from Objective-C to Swift.
- Calls the single-item image and video completions once when more than one path is returned.
0.8.13+12
- Updates minimum supported SDK version to Flutter 3.47/Dart 3.13.
- Updates minimum iOS version to 15.
- Removes the iOS 13 code paths that used the deprecated
kUTTypeGIF,kUTTypeImage, andkUTTypeMovieconstants, which fail to compile with Xcode 27.
0.8.13+11
- Adds an injectable protocol seam for PHImageManager image data requests.
0.8.13+10
- Returns an error when selected image data cannot be decoded.
0.8.13+9
- Adds injectable protocol seams for camera, photo library, and PHPicker APIs.
0.8.13+8
- Fixes scaling 10-bit images on iOS.
- Updates minimum supported SDK version to Flutter 3.41/Dart 3.11.
0.8.13+7
- Updates pigeon dev_dependency to ^27.3.2 for analyzer 14 compatibility.
0.8.13+6
- Replaces deprecated
kUTTypeGIFwithUTTypeGIFto fix iOS 15+ deprecation warnings.
0.8.13+5
- Fixes camera confirmation buttons (e.g., Retake/Use Photo) taps passing through to the underlying Flutter UI while the picker is dismissing on some iOS versions (e.g., iOS 26).
0.8.13+4
- Improves compatibility with
UIScene. - Updates minimum supported SDK version to Flutter 3.38/Dart 3.10.
0.8.13+3
- Fixes a performance regression on iOS where picking videos could cause a long delay due to transcoding. The picker is now configured to request the original asset to avoid conversion.
0.8.13+2
- Updates to Pigeon 26.
0.8.13+1
- Updates minimum supported version to iOS 13.
- Updates minimum supported SDK version to Flutter 3.35/Dart 3.9.
0.8.13
- Adds support for
getMultiVideoWithOptions. - Updates minimum supported SDK version to Flutter 3.27/Dart 3.6.
- Adds photo to Photos library during test to support iOS 26.
0.8.12+2
- Removes the need for user permissions to pick an image on iOS 14+.
- Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
0.8.12+1
- Updates Pigeon for non-nullable collection type support.
- Updates UI test photo element query for iOS 18.
0.8.12
- Re-adds Swift Package Manager compatibility.
0.8.11+2
- Temporarily remove Swift Package Manager compatibility to resolve issues with Cocoapods builds.
0.8.11+1
- Makes all headers public with Swift Package Manager integration to keep inline with CocoaPods.
0.8.11
- Adds Swift Package Manager compatibility.
0.8.10+1
- Fixes a possible crash when calling a picker method UIGraphicsImageRenderer if imageToScale is nil.
0.8.10
- Adds limit parameter to
MediaOptionsandMultiImagePickerOptionsthat sets a limit to how many media or image items can be selected.
0.8.9+2
- Updates minimum iOS version to 12.0 and minimum Flutter version to 3.16.6.
- Replaces deprecated UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer.
0.8.9+1
- Adds privacy manifest.
0.8.9
- Fixes resizing bug and updates rounding to be more accurate.
- Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
0.8.8+4
- Updates to Pigeon 13.
0.8.8+3
- Fixes a possible crash when calling a picker method while another is waiting on permissions.
0.8.8+2
- Adds pub topics to package metadata.
0.8.8+1
- Fixes exception when canceling pickMultipleMedia.
- Updates minimum supported SDK version to Flutter 3.7/Dart 2.19.
0.8.8
- Adds
getMediaandgetMultipleMediamethods.
0.8.7+4
- Fixes
BuildContexthandling in example. - Updates metadata unit test to work on iOS 16.2.
0.8.7+3
- Updates pigeon to fix warnings with clang 15.
- Updates minimum Flutter version to 3.3.
0.8.7+2
- Updates to
pigeonversion 9.
0.8.7+1
- Clarifies explanation of endorsement in README.
- Aligns Dart and Flutter SDK constraints.
0.8.7
- Updates minimum Flutter version to 3.3 and iOS 11.
0.8.6+9
- Updates links for the merge of flutter/plugins into flutter/packages.
0.8.6+8
- Fixes issue with images sometimes changing to incorrect orientation.
0.8.6+7
- Fixes issue where GIF file would not animate without
Photo Library Usagepermissions. Fixes issue where PNG and GIF files were converted to JPG, but only when they are do not havePhoto Library Usagepermissions. - Updates minimum Flutter version to 3.0.
0.8.6+6
- Updates code for stricter lint checks.
0.8.6+5
- Fixes crash when
imageQualityis set.
0.8.6+4
- Fixes authorization status check for iOS14+ so it includes
PHAuthorizationStatusLimited.
0.8.6+3
- Returns error on image load failure.
0.8.6+2
- Fixes issue where selectable images of certain types (such as ProRAW images) could not be loaded.
0.8.6+1
- Fixes issue with crashing the app when picking images with PHPicker without providing
Photo Library Usagepermission.
0.8.6
- Adds
requestFullMetadataoption topickImage, so images on iOS can be picked withoutPhoto Library Usagepermission. - Updates minimum Flutter version to 2.10.
0.8.5+6
- Updates description.
- Ignores unnecessary import warnings in preparation for upcoming Flutter changes.
0.8.5+5
- Adds non-deprecated codepaths for iOS 13+.
0.8.5+4
- Suppresses warnings for pre-iOS-11 codepaths.
0.8.5+3
- Fixes 'messages.g.h' file not found.
0.8.5+2
- Minor fixes for new analysis options.
0.8.5+1
- Removes unnecessary imports.
- Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors lint warnings.
0.8.5
- Switches to an in-package method channel based on Pigeon.
- Fixes invalid casts when selecting multiple images on versions of iOS before 14.0.
0.8.4+11
- Splits from
image_pickeras a federated implementation.
Installing
export PUB_HOSTED_URL=https://pub.mirror.p-hatan.ir
flutter pub add image_picker_iospubspec.yaml
name: image_picker_ios
description: iOS implementation of the image_picker plugin.
repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker_ios
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22
version: 0.8.13+14
environment:
sdk: ^3.13.0
flutter: ">=3.47.0"
flutter:
plugin:
implements: image_picker
platforms:
ios:
dartPluginClass: ImagePickerIOS
pluginClass: ImagePickerPlugin
dependencies:
flutter:
sdk: flutter
image_picker_platform_interface: ^2.11.0
meta: ^1.10.0
dev_dependencies:
flutter_test:
sdk: flutter
mockito: ^5.4.4
pigeon: ^27.3.2
topics:
- camera
- image-picker
- files
- file-selection
Version history
| Version | Published | Archive | SHA-256 |
|---|---|---|---|
| 0.8.4+11 | On demand | Download | 1fb390a1…98d71d |
| 0.8.5 | On demand | Download | 046056d4…a9af79 |
| 0.8.5+1 | On demand | Download | 4ddfae29…fbe0b8 |
| 0.8.5+2 | On demand | Download | 4034c8fb…a14814 |
| 0.8.5+3 | On demand | Download | 2ecd56af…5f35c7 |
| 0.8.5+4 | On demand | Download | f6d48cb2…b71e4d |
| 0.8.5+5 | On demand | Download | c1af1bd2…cea081 |
| 0.8.5+6 | On demand | Download | aee8b90c…6bbd33 |
| 0.8.6 | On demand | Download | 6ad50126…92b508 |
| 0.8.6+1 | On demand | Download | 17680874…35c147 |
| 0.8.6+2 | On demand | Download | 9933d873…711d3b |
| 0.8.6+3 | On demand | Download | 2c596122…b3557e |
| 0.8.6+4 | On demand | Download | 84231f4a…a45f83 |
| 0.8.6+5 | On demand | Download | 356426b0…c06d8b |
| 0.8.6+6 | On demand | Download | 39c01320…7c0493 |
| 0.8.6+7 | On demand | Download | 8ffb14b4…e5aa52 |
| 0.8.6+8 | On demand | Download | 884ed711…1303d6 |
| 0.8.6+9 | On demand | Download | 39aa70b5…50c519 |
| 0.8.7 | On demand | Download | 93b44033…bd1337 |
| 0.8.7+1 | On demand | Download | 50e882fe…7c50ff |
| 0.8.7+2 | On demand | Download | d4cb8ab0…f58445 |
| 0.8.7+3 | On demand | Download | a1546ff5…d81883 |
| 0.8.7+4 | On demand | Download | d779210b…558fd0 |
| 0.8.8 | On demand | Download | b3e2f21f…3f264b |
| 0.8.8+1 | On demand | Download | bee3b7c7…9d3330 |
| 0.8.8+2 | On demand | Download | c5538cac…0fc497 |
| 0.8.8+3 | On demand | Download | 753b6de9…c18c26 |
| 0.8.8+4 | On demand | Download | 76ec722a…cf97a7 |
| 0.8.9 | On demand | Download | eac0a621…4caacf |
| 0.8.9+1 | On demand | Download | fadafce4…8a4ca3 |
| 0.8.9+2 | On demand | Download | 917a5cad…2e6297 |
| 0.8.10 | On demand | Download | f4a6f62b…84a761 |
| 0.8.10+1 | On demand | Download | f74064bc…759794 |
| 0.8.11 | On demand | Download | cb0db0ec…0fb0dd |
| 0.8.11+1 | On demand | Download | f3285238…c8b5e5 |
| 0.8.11+2 | On demand | Download | 4824d8c7…1e95bf |
| 0.8.12 | On demand | Download | 6703696a…3ff447 |
| 0.8.12+1 | On demand | Download | 4f056812…641d6b |
| 0.8.12+2 | On demand | Download | 05da758e…ef9100 |
| 0.8.13 | On demand | Download | eb06fe30…eb8f0e |
| 0.8.13+1 | On demand | Download | e675c227…a56f58 |
| 0.8.13+2 | On demand | Download | 997d100c…2dc986 |
| 0.8.13+3 | On demand | Download | 956c16a4…9774ad |
| 0.8.13+5 | On demand | Download | 46547f6d…76486e |
| 0.8.13+6 | On demand | Download | b9c4a438…a84588 |
| 0.8.13+7 | On demand | Download | ee3885b6…6482ae |
| 0.8.13+8 | On demand | Download | 852a7762…cf4050 |
| 0.8.13+9 | On demand | Download | 815921d0…9a8896 |
| 0.8.13+10 | On demand | Download | 4fb88d43…e8934a |
| 0.8.13+12 | Cached · Upstream SHA-256 matched | Download | 592e5cfe…5db180 |
| 0.8.13+13 | Cached · Upstream SHA-256 matched | Download | 57255225…6886fd |
| 0.8.13+14 | Cached · Upstream SHA-256 matched | Download | b8f50830…5f8eb2 |
Dependencies
flutter {
"sdk": "flutter"
}
image_picker_platform_interface "^2.11.0"
meta "^1.10.0"