Swiftpack.co - near/near-api-swift as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by near.
near/near-api-swift 1.0.30
Interact with NEAR blockchain from iOS and OS X apps using Swift
⭐️ 22
🕓 1 year ago
iOS macOS
.package(url: "https://github.com/near/near-api-swift.git", from: "1.0.30")

nearclientios

Build Status Version License MIT Platform

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Usage

import nearclientios
class ViewController: UIViewController, WalletSignInDelegate {
  private var walletAccount: WalletAccount?
  private var near: Near?

  override func viewDidLoad() {
    super.viewDidLoad()
    let keyStore = KeychainKeyStore(keychain: .init(service: "example.keystore"))
    let config = NearConfig(
      networkId: "testnet", // "default" for mainnet 
      nodeUrl: URL(string: "https://rpc.testnet.near.org")!, // "https://rpc.mainnet.near.org" for mainnet
      masterAccount: nil,
      keyPath: nil,
      helperUrl: nil,
      initialBalance: nil,
      providerType: .jsonRPC(URL(string: "https://rpc.testnet.near.org")!), // "https://rpc.mainnet.near.org" for mainnet
      signerType: .inMemory(keyStore),
      keyStore: keyStore,
      contractName: nil,
      walletUrl: "https://wallet.testnet.near.org" // "https://wallet.near.org" for mainnet
    )
    near = try Near(config: config)
    walletAccount = try! WalletAccount(near: near!, authService: DefaultAuthService.shared) // a failed try here represents a configuration error, not a runtime error. It's safe to store a `WalletAccount!`.
    let appName = UIApplication.name ?? "signInTitle"
    DefaultAuthService.shared.walletSignIn = self
    try! await walletAccount!.requestSignIn(contractId: nil, title: appName, presentingViewController: self)
  }
  func completeSignIn(url: URL) async {
    try! await walletAccount?.completeSignIn(url: url)
    MainActor.run {
      //do any additional UI work on the main thread after sign in is complete
    }
  }
}

Requirements

nearclientios makes use of Swift's async/await and thus requires iOS 13.

Installation

CocoaPods

nearclientios is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'nearclientios'

Swift Package Manager

Once you have your Swift package set up, you can add nearclientios as a dependency in Package.swift.

dependencies: [
  .package(url: "https://github.com/near/near-api-swift", .upToNextMajor(from: "1.0.29"))
]

Examples

Author

NEAR Inc

License

nearclientios is available under the MIT license. See the LICENSE file for more info.

GitHub

link
Stars: 22
Last commit: 23 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics