SMLib is a small library which implements SuperMemo SM2 Algorithm.
- iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+
- Xcode 9+
CocoaPods (iOS 8+, OS X 10.9+)
You can use CocoaPods to install
SMLibby adding it to your
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
Swift Package Manager
You can use The Swift Package Manager to install
SMLib by adding the proper description to your
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
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 are welcome! Feel free to submit a pull request.
SMLib is released under the MIT license. See LICENSE for details.