Simplenote for iOS
A Simplenote client for iOS. Learn more about Simplenote at Simplenote.com.
At the moment Simplenote for iOS uses Swift 5 and requires Xcode 10.2 or newer. Xcode can be downloaded from Apple.*
Third party tools
We use a few tools to help with development. To install or update the required dependencies, run the follow command on the command line:
Simplenote for iOS uses CocoaPods to manage third party libraries.
Third party libraries and resources managed by CocoaPods will be installed by the
rake dependencies command above.
We use SwiftLint to enforce a common style for Swift code. The app should build and work without it, but if you plan to write code, you are encouraged to install it. No commit should have lint warnings or errors.
You can set up a Git pre-commit hook to run SwiftLint automatically when committing by running:
This is the recommended way to include SwiftLint in your workflow, as it catches lint issues locally before your code makes its way to Github.
Alternately, a SwiftLint scheme is exposed within the project; Xcode will show a warning if you don't have SwiftLint installed.
Finally, you can also run SwiftLint manually from the command line with:
If your code has any style violations, you can try to automatically correct them by running:
Otherwise you have to fix them manually.
Launch the workspace by running the following from the command line:
This will ensure any dependencies are ready before launching Xcode.
You can also open the project by double clicking on Simplenote.xcworkspace file, or launching Xcode and choose
Open and browse to
Simplenote is powered by the Simperium Sync'ing protocol. We distribute testing credentials that help us authenticate your application, and verify that the API calls being made are valid.
After you've created your own Simperium application, copy the sample config. For example:
mkdir -p Simplenote/Credentials && cp Simplenote/SPCredentials-demo.swift Simplenote/Credentials/SPCredentials.swift
Then edit the new
Simplenote/Credentials/SPCredentials.swift file and change the
simperiumApiKey fields to the correct values for your new app.
This will allow you to compile and run the app on a device or a simulator.
Note: Simplenote API features such as sharing and publishing will not work with development builds.
If you want to try the screenshots generation locally, also create your own testing credentials for that target:
mkdir -p SimplenoteScreenshots/Credentials && cp SimplenoteScreenshots/ScreenshotsCredentials-demo.swift SimplenoteScreenshots/Credentials/ScreenshotsCredentials.swift
We follow the WordPress iOS Style Guidelines, and we're constantly improving / adopting latest techniques.
Read our Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.
Simplenote for iOS is an Open Source project covered by the GNU General Public License version 2.