PhotosBackup 0.0.2
Unsigned PhotosBackup.ipa for sideloading with SideStore / AltStore. SideStore re-signs it on device with your own Apple ID.
Commit: a395ee3 – Rebrand to com.g8row.photosbackup with background backups and durable queue
Important
The bundle ID and Keychain service changed in this release. After updating,
reconnect your Google account once. Then force-quit and reopen to confirm
the account stays connected.
What's new since 0.0.1
- New app identity everywhere:
com.g8row.photosbackupbundle IDs,photosbackup://URL scheme, new App Group, background-task IDs, Keychain namespace, extension bridge AuthProberenamed toAccountConnector- Automatic background album backups via
BGProcessingTask: recurring scheduling, foreground re-entry, expiration cancellation, requeueing - Bounded batches: 25 items per background run, 250 per foreground activation
- Wi-Fi-only / cellular enforcement: network path monitoring, queue pause/resume,
URLSessioncellular blocking, iCloud download cancellation on interrupt - Durable account-scoped upload queue persistence plus completed-asset dedup across launches and Google accounts
- Queue persistence warnings in the Activity screen
- Tests for persistence, dedup, network policy, cancellation, background expiration
Install / update via SideStore
- AirDrop
PhotosBackup.ipato the iPhone and save it in Files. - Turn on LocalDevVPN.
- In SideStore, tap +, choose
PhotosBackup.ipa, and install it. - If asked whether to retain app extensions, keep Photos Backup Connect.
- Open Photos Backup, reconnect the Google account once (required after the bundle-ID change).
- Re-enable the Safari extension if needed: Settings → Apps → Safari → Extensions → Photos Backup Connect, allow
accounts.google.com.
Known limitations (unchanged)
- No true background
URLSessiontransfer pipeline yet; large uploads must finish inside the iOS processing window. - iOS background scheduling is opportunistic; the system may delay or skip runs.
- Album scans build the full source list before the batch cap; very large libraries could use a streaming scan.
- Durable queue is JSON-backed; picker-only items without asset identifiers don't survive process termination.
- Device signing, App Group provisioning, and real background execution not yet verified under the new bundle ID.