This is the source code for the iOS app Screenshotter, available on the App Store.
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
).
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.
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.
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
Screenshotter uses an Apache 2.0 license, under a Cluster Labs, Inc. copyright.