Skip to content

tosbaha/SMLib

Repository files navigation

SMLib

Travis CI Code coverage status Carthage compatible CocoaPods Platform Swift 4.1

SMLib is a small library which implements SuperMemo SM2 Algorithm.

  1. Requirements
  2. Integration
  3. Usage
  4. Contributions
  5. License

Requirements

  • iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+
  • Xcode 9+

Integration

CocoaPods (iOS 8+, OS X 10.9+)

You can use CocoaPods to install SMLibby adding it to your Podfile:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
	pod 'SMLib'
end

Note that this requires CocoaPods version 36, and your iOS deployment target to be at least 8.0:

Carthage (iOS 8+, OS X 10.9+)

You can use Carthage to install SMLib by adding it to your Cartfile:

github "tosbaha/SMLib"

Swift Package Manager

You can use The Swift Package Manager to install SMLib by adding the proper description to your Package.swift file:

import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    targets: [],
    dependencies: [
        .Package(url: "https://github.com/tosbaha/SMLib.git", majorVersion: 1),
    ]
)

Note that the Swift Package Manager is still in early design and development, for more information checkout its GitHub Page

Usage

import SMLib

let card = Flashcard(front: "Front", back: "Back")
let flashcardgrade = Grade.pass
let engine = SM2Engine()
let gradedCard = engine.gradeFlashcard(flashcard: card, grade: flashcardgrade, currentDatetime: NSDate().timeIntervalSince1970)

Please check Tests,Example and SuperMemo SM2 Algorithm page for the details of the algorithm.

Contributions

Contributions are welcome! Feel free to submit a pull request.

Credits

License

SMLib is released under the MIT license. See LICENSE for details.