6pm Expo app uses native widgets, controls and Live Activities without touching its database
The 6pm app, built with Expo and React Native, ships three native extensions: a widget extension with Home and Lock Screen widgets, two Control Center controls and a Live Activity, plus an App Intents extension and a share extension. To avoid file-lock crashes, the extensions never open the SQLite database in the shared App Group container. Instead, extensions write captures as JSON files to an inbox folder that the app imports, while the app publishes display data to a surfaces folder. The native targets are declared in short JavaScript config files via @bacons/apple-targets, with the controls restricted to iOS 18 and above. The daily spending figure is calculated by a tested TypeScript package rather than in Swift.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)
Log in to join the discussion and vote.
Log in