GithubHelp home page GithubHelp logo

youngshingjun / simplenote-ios Goto Github PK

View Code? Open in Web Editor NEW

This project forked from automattic/simplenote-ios

0.0 1.0 0.0 10.95 MB

Simplenote for iOS

Home Page: https://simplenote.com

License: GNU General Public License v2.0

Objective-C 27.04% Ruby 4.51% Swift 67.29% CSS 0.64% Python 0.34% Shell 0.17%

simplenote-ios's Introduction

Simplenote for iOS

A Simplenote client for iOS. Learn more about Simplenote at 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.*

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 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 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:

rake git:install_hooks

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:

rake lint

If your code has any style violations, you can try to automatically correct them by running:

rake lint:autocorrect

Otherwise you have to fix them manually.

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.

Setup Credentials

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.

⚠️ Please note → We're not accepting any new Simperium accounts at this time.

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 simperiumAppID and 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.

Optional

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

Style Guidelines

We follow the WordPress iOS Style Guidelines, and we're constantly improving / adopting latest techniques.

Contributing

Read our Contributing Guide 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.

Happy noting!

simplenote-ios's People

Contributors

jleandroperez avatar eshurakov avatar mokagio avatar loremattei avatar charliescheer avatar roundhill avatar sylvesterwilmott avatar bummytime avatar pachlava avatar jkmassel avatar jtreanor avatar alisoftware avatar theck13 avatar illusaen avatar a8ck3n avatar aerych avatar klacoste avatar shabirjan avatar oguzkocer avatar rachelmcr avatar lisply avatar frosty avatar s2ler avatar kwonye avatar dmsnell avatar shiki avatar mirka avatar mbaltaks avatar michalkosmowski avatar readmecritic avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.