StitchAWSS3Service 5.0.0-beta.3

StitchAWSS3Service 5.0.0-beta.3

Jason FlaxEric DanielsAdam Chelminski 维护。



 
依存于
StitchCore= 5.0.0-beta.3
StitchCoreAWSS3Service= 5.0.0-beta.3
 

StitchAWSS3Service 5.0.0-beta.3

  • 作者:
  • Jason Flax, Adam Chelminski 和 Eric Daniels

iOS Swift 4.0 Apache 2.0 License Cocoapods compatible

MongoDB Stitch iOS/Swift SDK

官方的 iOS/Swift 版本的 MongoDB Stitch SDK。

索引

文档

讨论

安装

XCode/iOS

CocoaPods

CocoaPods是一个用于Cocoa项目的依赖关系管理器。您可以使用以下命令来安装它:

$ gem install cocoapods

CocoaPods 1.1.0+版本是建设Stitch iOS 4.0+所需的。

要使用CocoaPods将iOS SDK集成到您的Xcode项目中,请将以下指定在您的Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!

target '<Your Target Name>' do
    # For core functionality and the Remote MongoDB Service
    pod 'StitchSDK', '= 5.0.0-beta.3'

    # optional: for using the AWS service
    pod 'StitchSDK/StitchAWSService', '= 5.0.0-beta.3'
    # optional: for using the Firebase Cloud Messaging service
    pod 'StitchSDK/StitchFCMService', '= 5.0.0-beta.3'
    # optional: for using the HTTP service
    pod 'StitchSDK/StitchHTTPService', '= 5.0.0-beta.3'
    # optional: for using the twilio service
    pod 'StitchSDK/StitchTwilioService', '= 5.0.0-beta.3'
end

然后,运行以下命令:

$ pod install

打开由pod install生成的.xcworkspace文件,以访问包含所有必要Stitch依赖项的项目。

示例用法

使用SDK创建新应用(iOS)

在Stitch上设置应用

  1. 访问https://stitch.mongodb.com/并登录MongoDB Atlas。
  2. 在项目中创建一个具有您想使用的名称的新应用。
  3. 通过在左侧面板中点击Stitch Apps并点击您的应用,在Stitch中访问您的应用。
  4. 通过在左侧面板中转到Clients并点击App ID部分,复制您的应用的客户端应用ID。
  5. 通过在左侧面板中转到Users并在Providers中编辑,启用“允许用户匿名登录”。

在 XCode/CocoaPods 中使用 Stitch 设定项目

  1. 下载并安装 XCode
  2. 使用您希望的名字创建一个新的应用程序项目。确保选择 Swift 作为语言。
  3. 在命令行中导航到项目目录,并运行 pod init
  4. 在生成的 Podfile 中,在应用程序目标的依赖关系下添加以下行
    pod 'StitchSDK', '= 5.0.0-beta.3'
  1. 运行 pod install
  2. 打开生成的 .xcworkspace 文件
  3. 您的应用程序项目将配置所有必要的依赖项,以与 MongoDB Stitch 进行通信。
  4. 要使用基本 Stitch 功能,在源文件中导入 import StitchCore
  5. 要访问通过 Stitch 访问的远程 MongoDB 实例,在源文件中导入 import StitchRemoteMongoDBService

使用 SDK

初始化 SDK

  1. 当您的应用程序初始化时,运行以下代码以初始化 Stitch SDK。您的 AppDelegate.swift 中的 application(_:didFinishLaunchWithOptions) 方法可以是此初始化步骤的适当位置。务必导入 import StitchCore
    // at the top of the file
    import StitchCore

    // in `application(_:didFinishLaunchWithOptions)`
    do {
        _ = try Stitch.initializeDefaultAppClient(
            withClientAppID: "your-client-app-id"
        )
    } catch {
        print("Failed to initialize MongoDB Stitch iOS SDK: \(error)")
        // note: This initialization will only fail if an incomplete configuration is 
        // passed to a client initialization method, or if a client for a particular 
        // app ID is initialized multiple times. See the documentation of the "Stitch" 
        // class for more details.
    }
  1. 要获取一个用于登录和与 Stitch 通信的客户端,使用 Stitch.defaultAppClient
    // in a view controller's properties, for example
    private lazy var stitchClient = Stitch.defaultAppClient!
登录
  1. 我们启用了匿名登录,所以使用它进行登录;在您的代码的任何位置添加以下内容
let client = Stitch.defaultAppClient!

print("logging in anonymously")
client.auth.login(withCredential: AnonymousCredential()) { result in
        switch result {
        case .success(let user):
            print("logged in anonymous as user \(user.id)")
            DispatchQueue.main.async {
                // update UI accordingly
            }
        case .failure(let error):
            print("Failed to log in: \(error)")
        }
    }
  1. 现在通过在 XCode 中转到 Product,Run(或按 ⌘R)来运行您的应用程序。
  2. 应用程序运行后,通过转到 View,Debug Area,Show Debug Area 打开调试区域。
  3. 您应该看到如下日志信息
logging in anonymously                                                    	
logged in anonymously as user 58c5d6ebb9ede022a3d75050
执行一个函数
  1. 一旦登录,执行函数将通过 StitchClient 的 callFunction() 方法进行。
    client.callFunction(
        withName: "echoArg", withArgs: ["Hello world!"], withRequestTimeout: 5.0
    ) { (result: StitchResult<String>) in
        switch result {
        case .success(let stringResult):
            print("String result: \(stringResult)")
        case .failure(let error):
            print("Error retrieving String: \(String(describing: error))")
        }
    }
  1. 如果您已将您的 Stitch 应用程序配置为有一个名为 "echoArg" 并且返回其参数的函数,您应该会看到一个类似于以下的消息
String result: Hello world!
在没有使用 Stitch.defaultAppClient 的情况下获取 StitchAppClient

如果您不希望使用单个默认初始化的 StitchAppClient,则可以使用以下方法为多个 App ID 初始化客户端,并使用任何数量的客户端 App ID。

    do {        
        let client1 = try Stitch.initializeAppClient(withClientAppID: "your-first-client-app-id")
        
        let client2 = try Stitch.initializeAppClient(withClientAppID: "your-second-client-app-id")
    } catch {
        print("Failed to initialize MongoDB Stitch iOS SDK: \(error.localizedDescription)")
    }

您可以使用返回的客户端或在任何其他可以使用的应用地方使用以下代码。

let client1 = try! Stitch.appClient(forAppID: "your-first-client-app-id")
let client2 = try! Stitch.appClient(forAppID: "your-second-client-app-id")