finds.dev

ming1016/RSSReader

“已阅”新版,RSS阅读器,使用FMDB做存储,ReactiveCocoa处理数据流向

View on GitHub

★ 1,748Objective-CMITupdated Jan 2025

// the take

An iOS RSS reader written in Objective-C, using FMDB for local SQLite storage and ReactiveCocoa for its data flow. It's useful as a reference implementation of a full native iOS app from the ReactiveCocoa era rather than something you'd actually run as your daily reader.

Fetches and parses multiple feeds concurrently with dispatch_group over GCD, which is a clean pattern to study if you want to see manual concurrency without Combine or async/await. It also does its own HTML-to-CoreText rendering for article bodies and a custom NSURLProtocol/URL cache that defers image downloads to Wifi, which is a reasonable real-world bandwidth-saving trick. Read-state tracking (per-article and mark-all-as-read per feed) is implemented end to end against the local FMDB store.

The stack — Objective-C, ReactiveCocoa, hand-rolled GCD — is legacy for iOS work now, so it's not something to build on top of for a new project. There's no way to add a feed yourself; it's explicitly listed as a Todo, meaning you're limited to whatever feed list ships baked in. There's no sync across devices, no OPML import/export, no accounts — it's a single-device local cache. The app target also bundles a sizeable CPU/lag monitor and fishhook-based call-tracing module (SMMonitor) that has nothing to do with reading RSS; shipping that kind of runtime hooking in a production binary is worth knowing about if you fork this as a starting point.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
1,748
Forks
331
Language
Objective-C
License
MIT
Last commit
12 Jan 2025

// nearby

If RSSReader isn't quite it.

All repos →