Screenshotter
This is the source code for the iOS app Screenshotter, available on the App Store.
General Project Info
Screenshotter is an Objective C and Swift app that mainly consists of 3 pieces working together:
- Logic to scan a user's photo library (
CLScreenshotsLoader
), looking for PNG images that match iOS screenshot dimensions - A local Core Data store (
ScreenshotCatalog
), keeping the library information up-to-date - An iCloud Drive integration, which allows Screenshotter to copy screenshots from the user's photo library to screenshot files on a user-visible file system (
ScreenshotStorage
).
Building Screenshotter
iCloud Drive Entitlement
Screenshotter relies on iCloud drive integration, so you will need to have that entitlement in your app Id. You may have to rename the container identifier for iCloud, since iCloud.com.getcluster.Screenshotter
is already in use in production.
(Optional) Firebase Integration
Screenshotter uses Firebase Analytics and Crash Reporting. The project has the necessary files either empty (GoogleService-Info.plist
) or missing (a .json
file for crash reporting) in the Firebase Configuration/
folder.
See instructions to integrating with your Firebase account.
CocoaPods
Screenshotter uses:
- Firebase: For analytics and event tracking
- Firebase Crash Reporter: For reporting crashes
- MBProgressHUD: For showing progress while copying screenshots to iCloud
- SDWebImage: Just for caching images to disk
License
Screenshotter uses an Apache 2.0 license, under a Cluster Labs, Inc. copyright.