Components to download, upload, store, view or select media items from different sources, part of the BMCommons library, which is the library upon which the BehindTheFrontDoor iPhone app is based. Download this free app to get an impression or view this demo which shows the most prominent features in a nutshell.
All code is fully documented with header documentation and a docset which you may install for context sensitive help within XCode.
The author, Werner Altewischer, has over 15 years experience as software developer and a track record of many successful apps since the launch of the app store in 2008 including the Greetz iPhone app, which won the award of best mobile web store of 2012 in The Netherlands.
The YouTube components shown in the video are available separately in the BMYouTube framework for iOS.
This framework is compatible with all iOS versions from 5.0 to 7.x.
Full Screen Media Browser
- Works in a similar fashion to the native Apple full screen media browser used in the "Photos" app
- Support for loading media info from a local source or from a server
- Support for both pictures, quicktime, mp4 and YouTube embedded videos
- Supports native mode for YouTube video (play YouTube streams directly bypassing the UIWebView approach, which is the officially supported way, but looks worse)
- Automatic "load more" functionality when user slides past the end of the loaded medias and the media are loaded from a remote source.
- Full screen mode and thumbnail mode for quick-viewing all items
- Auto rotation support
- Support for adding and displaying captions
- Support for customizing buttons in the toolbar to provide various functionalities (e.g. like, share, etc)
- Support for deletion of items from the displayed selection of media with a trash can animation
- Customizable styling (for some parts) and localization
Multi Selection Camera
- Works in a similar fashion to the native Apple "Camera" app
- Camera which allows taking more photos/videos in quick succession and viewing them or adding captions with the full screen media browser described above (compare with the normal UIImagePickerController which allows selection of only one item).
- Configurable maximum allowed duration for video or number of photos/videos the user is allowed to take.
- Auto-rotation support
- Customizable localization.
Media Library Picker with multi-selection support
- Works in a similar fashion to the selector used in the Apple native "Camera" app.
- Allows selection of album from the asset library and viewing all media items in that album
- Support for filtering out photos or videos or filtering on UTI (e.g. png, jpg, etc)
- Optionally copies the media from the asset library for use in the app even if the original item is deleted.
- Fast performance even with thousands of items in the library.
- Threshold support for limiting the amount and type of items a user may select.
- Customizable styling and localization.
- Raw copy support to get access to the original full resolution images.
- EXIF data returned for selected items if available.
Media roll component
- A component to display media thumbnails in a horizontal scroll view embeddable in a UITableViewCell for example.
- Support for snap to selection.
- Optional repeat mode (infinitely scrolling media roll)
- Remote loading support for loading media from a server
- Full screen viewing of the media using the full screen media browser described above when user touches any of the thumbnails.
- Customizable styling and localization
In addition to the components listed above there are a lot of supporting framework classes in this library that you can use that are part of the BMMedia module.
See also the overview of the BMCommons library here.