/// Public initializer
public override init()
/// Convenience method for getting a photo
open class func getPhotoWithCallback(getPhotoWithCallback callback: @escaping (_ photo: UIImage, _ info: [AnyHashable : Any]) -> Void) -> <<error type>>
/// Convenience method for getting a video
open class func getVideoWithCallback(getVideoWithCallback callback: @escaping (_ video: URL, _ info: [AnyHashable : Any]) -> Void)
/// Whether to allow selecting a photo
open var allowsPhoto: Bool
/// Whether to allow selecting a video
open var allowsVideo: Bool
/// Whether to allow capturing a photo/video with the camera
open var allowsTake: Bool
/// Whether to allow selecting existing media
open var allowsSelectFromLibrary: Bool
/// Whether to allow editing the media after capturing/selection
open var allowsEditing: Bool
/// Whether to use full screen camera preview on the iPad
open var iPadUsesFullScreenCamera: Bool
/// Enable selfie mode by default
open var defaultsToFrontCamera: Bool
/// The UIBarButtonItem to present from (may be replaced by overloaded methods)
open var presentingBarButtonItem: UIBarButtonItem?
/// The UIView to present from (may be replaced by overloaded methods)
open var presentingView: UIView?
/// The UIRect to present from (may be replaced by overloaded methods)
open var presentingRect: CGRect?
/// The UITabBar to present from (may be replaced by overloaded methods)
open var presentingTabBar: UITabBar?
/// The UIViewController to present from (may be replaced by overloaded methods)
open lazy var presentingViewController: UIViewController { get set }
/// A photo was selected
open var didGetPhoto: ((_ photo: UIImage, _ info: [AnyHashable : Any]) -> Void)?
/// A video was selected
open var didGetVideo: ((_ video: URL, _ info: [AnyHashable : Any]) -> Void)?
/// The user did not attempt to select a photo
open var didDeny: (() -> Void)?
/// The user started selecting a photo or took a photo and then hit cancel
open var didCancel: (() -> Void)?
/// A photo or video was selected but the ImagePicker had NIL for EditedImage and OriginalImage
open var didFail: (() -> Void)?
/// Custom UI text (skips localization)
open var cancelText: String?
/// Custom UI text (skips localization)
open var chooseFromLibraryText: String?
/// Custom UI text (skips localization)
open var chooseFromPhotoRollText: String?
/// Custom UI text (skips localization)
open var noSourcesText: String?
/// Custom UI text (skips localization)
open var takePhotoText: String?
/// Custom UI text (skips localization)
open var takeVideoText: String?
/// Presents the user with an option to take a photo or choose a photo from the library
open func present()
/// Dismisses the displayed view. Especially handy if the sheet is displayed while suspending the app,
open func dismiss()
Add this to your project using Swift Package Manager. In Xcode that is simply: File > Swift Packages > Add Package Dependency… and you’re done. Alternative installation options are shown below for legacy projects.
CocoaPods
If you are already using CocoaPods, just add ‘FDTake’ to your Podfile then run pod install.
Carthage
If you are already using Carthage, just add to your Cartfile:
github "fulldecent/FDTake"
Then run carthage update to build the framework and drag the built FDTake.framework into your Xcode project.
This is a mature project and we do not expect to add new features unless something has already become state-of-the-art in other applications. Please be prepared to cite screenshots of other apps before making a feature request.
We support targets for the latest released versions of Xcode, Carthage, CocoaPods and Swift Package Manager. If there are incompatabilities, for example CocoaPods not supporting the latest version of Xcode, then we will only support the latest released versions/combinations that are supported. If you would like to support pre-release versions of these packages, please open a pull request, not an issue.
License
FDTake is available under the MIT license. See the LICENSE file for more info.
Contributing
This project’s layout is based on https://github.com/fulldecent/swift4-module-template If you would like to change the layout, please change that project FIRST. Also you may appreciate that project has “recipes” – you don’t just change the code, you explain why you are doing things. As a maintainer this makes my job MUCH simpler. In a similar respect, if you are introducing non-minor changes, it will be VERY helpful if you could please reference to another project (like AlamoFire) that has seen and discussed the types of design challenges you are touching.) Thanks again and we all really do appreciate your contributions.
FDTake
Easily take a photo or video or choose from library
Usage
To run the example project, clone the repo, and run
pod install
from the Example directory first.To use it in your project, add an
FDTakeController
to your view controller and implement:then call:
The full API is:
Other available options are documented at CocoaDocs for FDTake.
How it works
Support
FDTake.strings
to more languagesInstallation
Add this to your project using Swift Package Manager. In Xcode that is simply: File > Swift Packages > Add Package Dependency… and you’re done. Alternative installation options are shown below for legacy projects.
CocoaPods
If you are already using CocoaPods, just add ‘FDTake’ to your
Podfile
then runpod install
.Carthage
If you are already using Carthage, just add to your
Cartfile
:Then run
carthage update
to build the framework and drag the builtFDTake
.framework into your Xcode project.Author
William Entriken, github.com@phor.net
Project scope
This is a mature project and we do not expect to add new features unless something has already become state-of-the-art in other applications. Please be prepared to cite screenshots of other apps before making a feature request.
We support targets for the latest released versions of Xcode, Carthage, CocoaPods and Swift Package Manager. If there are incompatabilities, for example CocoaPods not supporting the latest version of Xcode, then we will only support the latest released versions/combinations that are supported. If you would like to support pre-release versions of these packages, please open a pull request, not an issue.
License
FDTake is available under the MIT license. See the LICENSE file for more info.
Contributing
This project’s layout is based on https://github.com/fulldecent/swift4-module-template If you would like to change the layout, please change that project FIRST. Also you may appreciate that project has “recipes” – you don’t just change the code, you explain why you are doing things. As a maintainer this makes my job MUCH simpler. In a similar respect, if you are introducing non-minor changes, it will be VERY helpful if you could please reference to another project (like AlamoFire) that has seen and discussed the types of design challenges you are touching.) Thanks again and we all really do appreciate your contributions.