Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/automattic/simplenote-ios
Simplenote for iOS
https://github.com/automattic/simplenote-ios
Last synced: about 1 month ago
JSON representation
Simplenote for iOS
- Host: GitHub
- URL: https://github.com/automattic/simplenote-ios
- Owner: Automattic
- License: gpl-2.0
- Created: 2016-08-11T15:55:22.000Z (about 8 years ago)
- Default Branch: trunk
- Last Pushed: 2024-09-23T10:43:04.000Z (about 2 months ago)
- Last Synced: 2024-10-07T11:16:16.835Z (about 1 month ago)
- Language: Swift
- Homepage: https://simplenote.com
- Size: 14.7 MB
- Stars: 2,043
- Watchers: 63
- Forks: 285
- Open Issues: 135
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- fucking-open-source-ios-apps - Simplenote
README
# Simplenote for iOS
A Simplenote client for iOS. Learn more about Simplenote at [Simplenote.com](https://simplenote.com).## Build Instructions
### Download Xcode
At the moment *Simplenote for iOS* uses Swift 5 and requires Xcode 10.2 or newer. Xcode can be [downloaded from Apple](https://developer.apple.com/downloads/index.action).*
### 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:
`rake dependencies`
#### CocoaPods
Simplenote for iOS uses [CocoaPods](http://cocoapods.org/) to manage third party libraries.
Third party libraries and resources managed by CocoaPods will be installed by the `rake dependencies` command above.#### SwiftLint
We use [SwiftLint](https://github.com/realm/SwiftLint) to enforce a common style for Swift code. If you plan to write code, SwiftLint is going to be installed when you run `bundle exec pod install` and SwiftLint will run during the build.
No commit should have lint warnings or errors.### Open Xcode
Launch the workspace by running the following from the command line:
`rake xcode`
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 `File` > `Open` and browse to `Simplenote.xcworkspace`.
Once you have opened Simpleonte iOS in Xcode, depending on your setup, you may need to make a few changes before you can build the app. In Xcode hit `Command + B` and see if you get any errors.
## Known Xcode Issues
There are some common errors that can happen when first getting Simplenote iOS setup. Check these instructions to see how to fix those.
If you see `The server SSH fingerprint failed to verify` before you can build Simplenote you will need to mark the app as trusted. To do this, tap on the warning and hit Trust
If the build fails with an `Authentication failed because the credentials were missing` error most likely you need to update the Swift Packages before being able to build the app. We use Swift Package Manager for some internal dependencies which can be found on Github. To fetch these packages, connect Xcode to Github by going to Xcode > Preferences > Accounts, then enter your Github account details. To be able to fetch these dependencies Xcode will need to be connected to a Github account via [SSH](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
Once you have trusted the app and the SPM packages are downloaded you should be able to build the app. Try `Command + B` again and make sure that it builds correctly.
## Setup Credentials
Simplenote is powered by the [Simperium Sync'ing protocol](https://www.simperium.com). To be able to connect a development build of Simplenote iOS to the Simperium syncing service you will first need to setup app credentials.
We distribute **testing credentials** that help us authenticate your application, and verify that the API calls being made are valid.Please copy the **testing Simperium credentials** as follows:
```
mkdir -p ~/.configure/simplenote-ios/secrets && cp Simplenote/SPCredentials-demo.swift ~/.configure/simplenote-ios/secrets/SPCredentials.swift
```This will copy the demo SPCredentials file into the correct directory with the basic details for an OSS contributor. Then edit the new `Simplenote/Credentials/SPCredentials.swift` file and change the `simperiumAppID` and `simperiumApiKey` fields to the correct values that appear in your Simperium app. If you don't see the file there, try doing a build by pressing `Command + B` and then restarting Xcode. You should see it then.
This will allow you to compile and run the app on a device or a simulator. With the app running in the simulator you can connect to Simplenote. Note that for testing builds you can only connect to Simplenote account using the email address and password of your account on`Simperium.com`. You can not connect to regular Simplenote accounts in development builds.
_Note: Simplenote API features such as sharing and publishing will not work with development builds._
### Optional
If you want to try the screenshots generation locally, also create your own testing credentials for that target:
```
mkdir -p ~/.configure/simplenote-ios/secrets && cp Simplenote/ScreenshotsCredentials-demo.swift ~/.configure/simplenote-ios/secrets/ScreenshotsCredentials.swift
```## Style Guidelines
We follow the WordPress iOS Style Guidelines, and we're constantly improving / adopting latest techniques.
- [Swift Standard](https://github.com/wordpress-mobile/swift-style-guide)
- [ObjC Standard](https://github.com/wordpress-mobile/objective-c-style-guide)## Contributing
Read our [Contributing Guide](CONTRIBUTING.md) to learn about reporting issues, contributing code, and more ways to contribute.
## License
Simplenote for iOS is an Open Source project covered by the [GNU General Public License version 2](LICENSE.md).
Happy noting!