Ripple iconRipple

Ripple for iOS: Native Screen Time Blocker with Uninstall Lock and Monotonic Cooldown

Ripple (v0.1.5) now runs on both Android and iOS (iOS 16.0 and later). Built on Apple's official Screen Time frameworks (FamilyControls, ManagedSettings, and DeviceActivity), the iOS edition prevents impulsive app removal, enforces a 15-minute to 2-hour monotonic cooldown before rules loosen, and supports an 8-character Friend or Parent Unlock Code.

View v0.1.5 Releases & Setup Download Android APK (8.57 MB)
iOS 16.0+ & Android 8.0+ · 100% Free & No Ads · Local-Only Zero Telemetry

Where Built-In iPhone Screen Time Falls Short

Apple's built-in Screen Time is easy to set up, but three things often go wrong in daily use. First, when you set limits for yourself without a passcode, one tap on "Ignore Limit" or "15 More Minutes" dismisses the shield right away. Second, the 4-digit Screen Time passcode is short enough that kids frequently watch a parent type it or guess it. Third, many third-party blockers can be removed from the Home Screen in two seconds when willpower drops. Ripple for iOS addresses each of these weak points directly.

How Ripple Works on iOS 16.0+

1. System-Level Uninstall Lock (denyAppRemoval = true)

When you turn on Anti-Uninstall in Ripple, it sets store.application.denyAppRemoval = true through Apple's ManagedSettings framework. iOS disables app deletion on the Home Screen so neither you nor a child can delete the blocker on impulse.

2. Background Extensions That Survive App Switching

Ripple ships with two dedicated system extensions: RippleDeviceActivityMonitor and RippleShieldConfiguration. Even if the main app is swiped away, iOS automatically displays the full-screen "Take a breath and pause" shield as soon as a daily quota expires or a focus schedule begins.

3. Monotonic Boot-Clock Cooldown (systemUptime)

Tightening rules takes effect immediately. Raising a daily limit, turning off a schedule, or disabling Anti-Uninstall starts a 15-minute to 2-hour countdown powered by ProcessInfo.processInfo.systemUptime. Changing the iPhone clock or timezone in Settings does not shorten the timer.

4. 8-Character Friend / Parent Unlock Code & Local Storage

Hand an 8-character unlock code to a partner, friend, or parent so you cannot bypass limits on impulse. All rules and tokens stay inside the local App Group container (group.com.slowisle.app) with zero cloud uploads.

Ripple for iOS vs Apple Screen Time vs Opal

Feature Ripple for iOS Apple Screen Time Opal / One Sec
Friction Before Relaxing Rules 15m to 2h monotonic cooldown or 8-char Unlock Code 1-tap Ignore Limit or 4-digit PIN Strict mode locked behind paid subscription
Prevent App Deletion Yes (ManagedSettings.denyAppRemoval = true) Built-in, disabled once 4-digit PIN is known Paid tier only
Clock Tamper Protection Yes (ProcessInfo.processInfo.systemUptime) Manual clock changes can desync quotas Partial
Works When Main App Is Closed Yes (native DeviceActivityMonitor extension) Yes Yes
Price & Privacy 100% Free, No Ads, Local App Group Only Free, tied to Apple ID $50 to $100/year, requires cloud account

Setup Steps on iPhone

  1. Authorize Apple Screen Time AccessOpen Ripple ("涟漪" on Chinese systems, "Ripple" on English systems) and approve the AuthorizationCenter prompt using Face ID or your Apple ID.
  2. Pick Apps in the Native PickerSelect TikTok, YouTube, Instagram, or games inside Apple's native FamilyActivityPicker, and set your daily limit (90 minutes by default) and nightly sleep schedule (23:30 to 07:00).
  3. Enable Anti-Uninstall & Unlock CodeOpen Settings › Anti-Uninstall to lock app removal via ManagedSettings, set the cooldown up to 2 hours, and let a parent or friend hold the 8-character unlock code.

FAQ

How is Ripple for iOS different from built-in Apple Screen Time?

Apple Screen Time uses a 4-digit passcode that kids often shoulder-surf or guess, and adults using it on themselves can tap Ignore Limit in one second. Ripple makes tightening rules instant while relaxing any limit or turning off protection requires waiting through a 15-minute to 2-hour monotonic cooldown or entering an 8-character Friend or Parent Unlock Code. It also locks app deletion via ManagedSettings (denyAppRemoval = true).

Does Ripple still block apps on iPhone if I swipe it away from the App Switcher?

Yes. Ripple uses two independent iOS system extensions (RippleDeviceActivityMonitor and RippleShieldConfiguration). Even when the main app is closed, iOS automatically displays the full-screen "Take a breath and pause" shield as soon as a daily quota runs out or your bedtime schedule starts.

Can changing the iPhone clock skip the 15-minute cooldown?

No. Cooldown timers on iOS use ProcessInfo.processInfo.systemUptime, which counts seconds since the device booted. Changing the date, time, or timezone in iOS Settings has no effect on the remaining wait time.

How do I uninstall Ripple on iOS when I no longer need it?

Open Ripple › Settings › Anti-Uninstall, wait for the cooldown timer to finish (or enter your 8-character unlock code), and toggle off Anti-Uninstall. iOS immediately restores standard Home Screen app deletion.