UpbitSwift 0.1.8

UpbitSwift 0.1.8

sihon321 维护。



 
依赖于
Alamofire>= 0
SwiftJWT>= 0
 

  • sihon321

UpbitSwift

CI Status Version License Platform

Upbit API 的 Swift 封装

示例

要运行示例 SwiftUI 项目,首先克隆仓库,然后在 Example 目录下运行 pod install

要求

  • Swift 5.0+
  • iOS 13.0+

安装

CocoaPods

UpbitSwift 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod 'UpbitSwift'

Swift 包管理器

dependencies: [
    .package(url: "https://github.com/sihon321/UpbitSwift.git")
]

用法

报价 API

  • 实时价格品种查询
    let upSwift = UpbitSwift()
    let marketList = UpbitMarketList()
    
    upSwift.getMarketAll(isDetails: false) { result in
        switch result {
        case .success(let marketList):
            self.marketList = marketList
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }
  • 实时价格蜡烛图查询

蜡烛图查询可通过单个 getCandle() 函数实现。每个蜡烛图均以枚举形式存在,您可以选择所需的蜡烛图。

    let upSwift = UpbitSwift()
    let candles = UpbitCandles()
    upbitSwift.getCandle(.minute(.one), market: "KRW-BTC") { result in
        switch result {
        case .success(let candles):
            self.candles = candles
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }
    public enum CandleType {
        case minute(MinuteCandle)
        case hour(HourCandle)
        case days
        case weeks
        case months
    }

    public enum MinuteCandle: Int {
        case one = 1
        case three = 3
        case five = 5
        case ten = 10
        case fifteen = 15
        case thirty = 30
    }

    public enum HourCandle: Int {
        case one = 60
        case four = 240
    }
  • 实时价格 Ticker 查询
    let upSwift = UpbitSwift()
    let tickers = UpbitTickers()
    upbitSwift.getTickers(market: ["KRW-BTC"]) { result in
        switch result {
        case .success(let tickers):
            self.tickers = tickers
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }

交易所 API

  • 全面账户查询
    let upSwift = UpbitSwift(accessKey: "accessKey", secretKey: "secretKey")
    let accounts = UpbitAccounts()
    upbitSwift.getAccounts() { result in
        switch result {
        case .success(let accounts):
            self.accounts = accounts
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }
  • 单个订单查询,订单取消接收

在订单取消接收时,将方法修改为 delete 即可。

    let upSwift = UpbitSwift(accessKey: "accessKey", secretKey: "secretKey")
    let order = UpbitOrder()
    upbitSwift.requestOrder(.get, 
                            uuid: "5b72488b-fa82-4012-a9a4-7093cd529a16") { result in
        switch result {
        case .success(let order):
            self.order = order
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }
  • 创建订单

限价多头时:输入 volume 和 price

    let upSwift = UpbitSwift(accessKey: "accessKey", secretKey: "secretKey")
    let order = UpbitOrder()
    upbitSwift.order(.buy, market: "KRW-BTC", volume: "0.001", price: "1000.0") { result in
        switch result {
        case .success(let order):
            self.order = order
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }

市价多头时:仅输入 price

    let upSwift = UpbitSwift(accessKey: "accessKey", secretKey: "secretKey")
    let order = UpbitOrder()
    upbitSwift.order(.buy, market: "KRW-BTC", price: "1000.0") { result in
        switch result {
        case .success(let order):
            self.order = order
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }

限价空头时:输入 volume 和 price

    let upSwift = UpbitSwift(accessKey: "accessKey", secretKey: "secretKey")
    let order = UpbitOrder()
    upbitSwift.order(.sell, market: "KRW-BTC", volume: "0.001", price: "1000.0") { result in
        switch result {
        case .success(let order):
            self.order = order
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }

市价空头时:仅输入 volume

    let upSwift = UpbitSwift(accessKey: "accessKey", secretKey: "secretKey")
    let order = UpbitOrder()
    upbitSwift.order(.sell, market: "KRW-BTC", volume: "0.001") { result in
        switch result {
        case .success(let order):
            self.order = order
        case .failure(let error):
            print(error.failureReason ?? "Not found error")
        }
    }

作者

sihon321, [email protected]

许可

UpbitSwift 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。