![]() Roxas is my internal framework used across all my iOS projects, developed to simplify a variety of common tasks used in iOS development. This feature is still being worked on, so it is only available in beta versions of Clip for now. If this notification is expanded, ClipboardReader will be launched and save the contents of the clipboard to disk before dismissing the now-expanded notification.ĬlipBoard is a Custom Keyboard app extension that provides quick access to your recent clippings when editing text. When Clip detects a change to the clipboard, it will present a local notification. ClipboardReaderĬlipboardReader is a Notification Content app extension used to read the clipboard while Clip is running in the background. Notably, it contains all model + Core Data logic, so that Clip and each app extension can access the same persistent store with all clippings. ClipKitĬlipKit is a shared framework that includes common code between Clip, ClipboardReader, and ClipBoard. Specifically, it is in charge of playing a silent audio clip on loop so Clip can run indefinitely in the background, as well as presenting a local notification whenever Clip stops running (for whatever reason). ![]() This class manages the lifecycle of Clip. Once a change is detected, PasteboardMonitor presents a local notification that can be expanded by the user to save their clipboard to Clip. Since UIPasteboardChangedNotification is only received when the app is in the foreground, this class uses the private amework to start sending system-wide Darwin notifications whenever the clipboard’s contents change. Most is self-explanatory, but there are two classes that serve particularly important roles:Īs you might have guessed from the name, this class is in charge of listening for changes to the clipboard. The app logic for Clip is relatively straightforward. Another UITableViewController subclass that displays all Clip settings in a list, but is presented as a popover due to limited number of settings. A relatively straightforward UITableViewController subclass that fetches recent clippings from Clip’s persistent store and displays them in a table view. The entire UI is implemented with just two view controllers: The core app target can be mentally divided up into UI and logic, while each additional target serves a specific role.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |