All Projects → scottrhoyt → Cider

scottrhoyt / Cider

Licence: MIT license
The Missing Apple Music SDK. Written in Swift.

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Cider

Elegantcalendar
The elegant full screen calendar missed in SwiftUI.
Stars: ✭ 224 (+292.98%)
Mutual labels:  swift-package-manager
extensions-kit
📦 Collection of Swift+Apple Frameworks extensions for speeding up software development [iOS & iPadOS].
Stars: ✭ 71 (+24.56%)
Mutual labels:  swift-package-manager
EggSeed
Command Line Tool for Starting Your Swift Packages with Continuous Integration
Stars: ✭ 21 (-63.16%)
Mutual labels:  swift-package-manager
Swipycell
Easy to use UITableViewCell implementing swiping to trigger actions.
Stars: ✭ 230 (+303.51%)
Mutual labels:  swift-package-manager
SwiftMC
A Minecraft server and proxy written from scratch in Swift.
Stars: ✭ 22 (-61.4%)
Mutual labels:  swift-package-manager
xcbeautify
A little beautifier tool for xcodebuild
Stars: ✭ 687 (+1105.26%)
Mutual labels:  swift-package-manager
Amplitude Ios
Native iOS/tvOS/macOS SDK
Stars: ✭ 216 (+278.95%)
Mutual labels:  swift-package-manager
Table
CLI tables in Swift
Stars: ✭ 53 (-7.02%)
Mutual labels:  swift-package-manager
swiftreplmadness
Example of using your own packages in the Swift REPL
Stars: ✭ 18 (-68.42%)
Mutual labels:  swift-package-manager
SupportEmail
Pre-populates emails with support information in iOS/iPadOS apps
Stars: ✭ 20 (-64.91%)
Mutual labels:  swift-package-manager
Dtpagercontroller
A fully customizable container view controller to display a set of ViewControllers in a horizontal scroll view. Written in Swift.
Stars: ✭ 240 (+321.05%)
Mutual labels:  swift-package-manager
Telegrammer
Telegram Bot - written with Swift 5.2 / NIO, supports Linux, macOS
Stars: ✭ 248 (+335.09%)
Mutual labels:  swift-package-manager
swift-watch
Watches over your Swift project's source
Stars: ✭ 43 (-24.56%)
Mutual labels:  swift-package-manager
Shiny
Shiny uses your gyroscope to simulate lighting and motion effects on colors. Works on almost every SwiftUI View.
Stars: ✭ 226 (+296.49%)
Mutual labels:  swift-package-manager
CSV
A simple CSV file parser and serializer
Stars: ✭ 31 (-45.61%)
Mutual labels:  swift-package-manager
Swiftvalidators
String (and more) validation for iOS
Stars: ✭ 226 (+296.49%)
Mutual labels:  swift-package-manager
SwiftTweener
A pure Swift animation engine.
Stars: ✭ 74 (+29.82%)
Mutual labels:  swift-package-manager
Tablier
A micro-framework for Table Driven Tests.
Stars: ✭ 33 (-42.11%)
Mutual labels:  swift-package-manager
Bytes
Swift Library for working with sequences of Bytes (aka [UInt8])
Stars: ✭ 35 (-38.6%)
Mutual labels:  swift-package-manager
Swift-FFDB
a Object/Relational Mapping (ORM) support to iOS and MacOS .Since SwiftFFDB is build on top of FMDB.
Stars: ✭ 22 (-61.4%)
Mutual labels:  swift-package-manager

Cider

The Missing Apple Music SDK. Written in Swift.

Build Status codecov.io Carthage compatible CocoaPods SPM compatible Platform iOS Language Swift 4.0

Installation

Carthage

Add the following to your Cartfile:

github "scottrhoyt/Cider" ~> 0.10

CocoaPods

Add the following to your Podfile:

pod 'Cider', '~> 0.10'

SPM

Add to your Package.swift file like so:

import PackageDescription

let package = Package(
    name: "<YOUR_PROJECT_NAME>",
    dependencies: [
        .package(url: "https://github.com/scottrhoyt/Cider.git", from: "0.10.0")
    ]
)

Usage

Developer Token

To use the Apple Music API, you will need to generate a developer token. Instructions for how to do this can be found in the Apple Music API reference.

Once you have an Apple Music Key you can use a 3rd party library/tool to generate your token. I created a Node.js library and CLI tool that you can find here.

Create a Client

let developerToken = "<developer_token>"
let cider = CiderClient(storefront: .unitedStates, developerToken: developerToken)

Search the Catalog

cider.search(term: "Michael Jackson", types: [.albums, .songs]) { results, error in
  // Process the results or error
}

Lookup an Artist/Album/Song

let songId = "<song_id>"
cider.song(id: songId) { result, error in
  // Process the results or error
}

API Reference

The full API reference can be found here.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].