Coder Social home page Coder Social logo

cherry's Introduction

#Cherry

Cherry is a miniscule Pomodoro Timer app designed for the  Watch. It started off as KTPomodoro but I decided to re-start the project in Swift once I had a firmer grasp of WatchKit's APIs and limitations. There is a Storyboard which is the Watchkit app, and a set of Interface Controllers that contain the logic.

##Video

##Screenshots

##Features

  • Add new Activity right from the watch.
  • Start/Stop Activity.
  • Persisting of Activities data in CoreData: shared in App Container between App Extension and App.
  • Provides Glances that show thew status of an in-progress activity.
  • Jump straight to the WatchApp by tapping on the Glances.

##How to build with app container support

  1. Select the Cherry project in the Xcode project navigator
  2. Update all three targets below to use your own Team:
    • Cherry - the Cherry app for iOS
    • Cherry WatchKit Extension - the WatchKit extension for Apple Watch
    • Cherry WatchKit App - the WatchKit app for Apple Watch
  3. Now switch to Cherry target and select the Capabilities tab. Enable App Groups by flicking the switch to On.
    Make sure the App Groups section is expanded, and tap the + button to add a new group.
    Name it group.<YOUR_DOMAIN>.<GROUP_NAME>. ex: group.com.somegroup.KTPomodoro
    then slelect the group you just created.
  4. Next, enable app groups by repeating the same steps for the Cherry WatchKit Extension target. This time, all you have to do is select the App Group you just created.
  5. Update the Bundle Identifier of all three targets, such as:
    • Cherry - com.somegroup.KTPomodoro
    • Cherry WatchKit Extension - com.somegroup.KTPomodoro.watchkit
    • Cherry WatchKit App - com.somegroup.KTPomodoro
      Then tap "Fix Issue" to let Xcode help you!
  6. Update KTCoreDataStack.swift & KTSharedUserDefaults.swift,
    set shouldUseAppGroupsForStorage to true, then use App Group ID you created.
  7. Update KTWatchActivitiesListInterfaceController.swift, replace com.corgitoergosum.KTPomodoro.select_activity to your own Bundle Identifier, ex: com.somegroup.KTPomodoro.select_activity
  8. Select WatchKit Extension's info.plist, then change NSExtension/NSExtensionAttributes/WKAppBundleIdentifier to Cherry WatchKit App's Bundle Identifier.
  9. Select Product -> Clean, then change Schema to Cherry Watchkit App and you are ready to run!

##To-Do

  • Fix WKInterfaceTable issue when beta 6 is released.
  • Allowing selection of theme colors.
  • Add sending of notifications on Pomo end and Activity End.
  • Test Notifications on a real device? (As of Xcode6.2beta5, Watch simulator does not support receiving local notifications)
  • Make Breaks between pomodoros optional.
  • Make interruptions useful.
  • Build an app component.

##License Cherry is available under the MIT license.

##Feedback File an issue or pull request. Or ping me at @kenshin03.

cherry's People

Contributors

kenshin03 avatar yenchenlin avatar

Watchers

Nero_jy 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.