Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[iOS 工具] 涟漪 (Ripple) v0.1.5:基于 Apple Screen Time API 的防卸载与单调时钟冷静期自控工具

Abierto
#5,472 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
1/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
swift
Área
mobile

Línea de trabajo

This is a self promotion for the Ripple iOS and Android apps; it names ScreenTimeGuardPlugin, RippleDeviceActivityMonitor, and RippleShieldConfiguration but provides no source file paths, tests, or requested code change. Read the project and release links to understand the implementation; there is no issue-specific completion criterion in the payload.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

我是 涟漪(Ripple) 的开发者,自荐这个支持 iOS 16.0+(Screen Time API)与 Android 的本地自控与防冲动卸载工具。

为什么做 iOS 版?

iPhone 自带的「屏幕使用时间」在日常自律和家长管孩子手机时有三个痛点:

  1. 成年人给自己设限额时,弹出盾牌后点一下「忽略限额」或「再使用 15 分钟」即可秒破;
  2. 4 位数字密码位数太短,孩子在旁边看几次键盘手势或试几次就能解开;
  3. 市面上多数第三方自律 App 只要在桌面长按删除,里面的限制就立刻失效,或者按年收取高额订阅费(如 Opal / AppBlock)。
iOS 端核心实现(ScreenTimeGuardPlugin + 双系统 Extension)
  1. 系统级禁止删除应用(denyAppRemoval = true):开启防卸载后,直接通过 Apple ManagedSettingsStore 将 store.application.denyAppRemoval 设为 true,从 iOS 系统桌面锁住删除开关。
  2. 开机单调时钟(ProcessInfo.processInfo.systemUptime)冷静期:收紧规则立刻生效;想要加时长、跳过专注时段或关闭防卸载,必须先走完 15 分钟至 2 小时的单调时钟倒计时(基于设备开机后经过的真实秒数,去系统设置里把日期或时间改快完全无效),或者输入由亲友/家长保管的 8 位解锁码。
  3. 双后台独立扩展(RippleDeviceActivityMonitor + RippleShieldConfiguration):由系统 DeviceActivityCenter 直接在后台调度。即使主程序被从多任务列表划掉,只要达到每日配额或进入晚间专注时段(默认 23:30–07:00),系统依然自动拉起「深呼吸,停一下」全屏拦截盾牌。
  4. 纯本地 App Group 容器存储:所有规则、应用 Token 与倒计时状态均保存在本机 group.com.slowisle.app 容器内,免费无广告、无账号、无统计 SDK。

预览图

Lenguaje dominante
JavaScript
Estrellas
5k
Forks
431
Merge medio
2 min
PR fusionados (30 d)
2

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de SwiftOldDriver/iOS-Weekly

Todos los issues de SwiftOldDriver/iOS-Weekly

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.