Live Table: https://diafygi.github.io/webcrypto-examples/
I couldn't find anywhere that had clear examples of WebCryptoAPI, so I wrote examples and made a live table with them. Pull requests welcome!
- generateKey | importKey |
| //To update ruby | |
| //install rvm | |
| curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable | |
| //to check rvm is installed or not | |
| rvm list known | |
| //to install new ruby | |
| rvm install ruby@latest | |
| OR |
| protocol ModelManager { | |
| associatedtype NewModel | |
| associatedtype Collection: Swift.Collection where Collection.Element == NewModel | |
| associatedtype Query | |
| func models(matching query: Query) -> Collection | |
| } |
| import Foundation | |
| struct Feed: Decodable { | |
| } | |
| class FeedViewModel { | |
| let service: FeedProviding | |
| var feed: Feed? | |
| var onFeedUpdate: () -> Void = {} |
Live Table: https://diafygi.github.io/webcrypto-examples/
I couldn't find anywhere that had clear examples of WebCryptoAPI, so I wrote examples and made a live table with them. Pull requests welcome!
| PRODUCT_NAME := Foo | |
| SCHEME_NAME := ${PRODUCT_NAME} | |
| WORKSPACE_NAME := ${PRODUCT_NAME}.xcworkspace | |
| UI_TESTS_TARGET_NAME := ${PRODUCT_NAME}UITests | |
| TEST_SDK := iphonesimulator | |
| TEST_CONFIGURATION := Debug | |
| TEST_PLATFORM := iOS Simulator | |
| TEST_DEVICE ?= iPhone 11 Pro Max | |
| TEST_OS ?= 13.3 |
| // listening for current item change | |
| self.audioQueueObserver = self.playerQueue?.observe(\.currentItem, options: [.new]) { | |
| [weak self] (player, _) in | |
| print("media item changed...") | |
| } | |
| // listening for current item status change | |
| self.audioQueueStatusObserver = self.playerQueue?.currentItem?.observe(\.status, options: [.new, .old], changeHandler: { | |
| (playerItem, change) in | |
| if playerItem.status == .readyToPlay { |
| import Foundation | |
| import UIKit | |
| public struct Resource { | |
| var name: String | |
| var fileExtension: String | |
| var url: URL? { | |
| Bundle.module.url(forResource: name, withExtension: fileExtension) | |
| } | |
| } |
| extension UserDefaults { | |
| subscript<T>(key: String) -> T? { | |
| get { | |
| return value(forKey: key) as? T | |
| } | |
| set { | |
| set(newValue, forKey: key) | |
| } | |
| } | |
| import Foundation | |
| class KeyboardAppearListener { | |
| private var showKeyboard: NotificationToken? | |
| private var hideKeyboard: NotificationToken? | |
| private weak var viewController: UIViewController? | |
| private var windowSafeArea: CGFloat = 0 | |
| private var windowsSafeAreaWereAdded = false |