Appwrite Swift SDK

Swift Package Manager License Version Build Status Twitter Account Discord

此 SDK 兼容 Appwrite 服务器版本 1.6.x。对于旧版本,请查看之前的版本

这是 Swift SDK,用于从您的 Swift 服务器端代码与 Appwrite 集成。如果您正在寻找 Apple SDK,您应该查看 appwrite/sdk-for-apple

Appwrite 是一个开源的后端即服务服务器,它抽象并简化了复杂和重复的开发任务,并将其置于一个非常易于使用的 REST API 之后。 Appwrite 旨在帮助您更快、更安全地开发应用程序。 使用 Swift SDK 将您的应用程序与 Appwrite 服务器集成,从而轻松开始与所有 Appwrite 后端 API 和工具进行交互。 有关完整的 API 文档和教程,请访问 https://appwrite.io/docs

Appwrite

安装

使用 Swift Package Manager 的 Xcode

Appwrite Swift SDK 可通过 Swift Package Manager 获得。 为了从 Xcode 使用 Appwrite Swift SDK,请选择 File > Add Packages(添加包)

在出现的对话框中,在搜索字段中输入 Appwrite Swift SDK 包 URL。 找到后,选择 sdk-for-apple

在右侧,选择您的版本规则,并确保在 Add to Project(添加到项目) 字段中选择了您所需的目标。

现在点击 add package(添加包),就完成了!

Swift Package Manager

将软件包添加到您的 Package.swift 依赖项中

    dependencies: [
        .package(url: "git@github.com:appwrite/sdk-for-swift.git", from: "7.0.0"),
    ],

然后将其添加到您的目标中

    targets: [
        .target(
            name: "YourAppTarget",
            dependencies: [
                .product(name: "", package: "sdk-for-swift")
            ]
        ),

开始使用

初始化您的 SDK

使用您的 Appwrite 服务器 API 端点和项目 ID 初始化您的 SDK,这些信息可以在您的项目设置页面和您的新 API 密钥项目 API 密钥部分中找到。

import Appwrite

func main() {
    let client = Client()
        .setEndpoint("https://[HOSTNAME_OR_IP]/v1") // Your API Endpoint
        .setProject("5df5acd0d48c2") // Your project ID
        .setKey("919c2d184...a2ae413dad2") // Your secret API key
        .setSelfSigned() // Use only on dev mode with a self-signed SSL cert
}

发出您的第一个请求

初始化 SDK 对象后,创建任何 Appwrite 服务对象并选择要发送的任何请求。 您可以在 SDK 文档或 API 参考 部分中找到您想要使用的任何服务方法的完整文档。

let users = Users(client)

do {
    let user = try await users.create(
        userId: ID.unique(),
        email: "email@example.com",
        phone: "+123456789",
        password: "password",
        name: "Walter O'Brien"
    )
    print(String(describing: user.toMap()))
} catch {
    print(error.localizedDescription)
}

完整示例

import Appwrite

func main() {
    let client = Client()
        .setEndpoint("https://[HOSTNAME_OR_IP]/v1") // Your API Endpoint
        .setProject("5df5acd0d48c2") // Your project ID
        .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key
        .setSelfSigned() // Use only on dev mode with a self-signed SSL cert

    let users = Users(client)
    
    do {
        let user = try await users.create(
            userId: ID.unique(),
            email: "email@example.com",
            phone: "+123456789",
            password: "password",
            name: "Walter O'Brien"
        )
        print(String(describing: user.toMap()))
    } catch {
        print(error.localizedDescription)
    }
}

错误处理

发生错误时,Appwrite Swift SDK 会抛出一个带有 messagecode 属性的 AppwriteError 对象。 您可以在 catch 块中处理任何错误,并将 messagelocalizedDescription 呈现给用户,或者根据提供的错误信息自行处理。 下面是一个例子。

import Appwrite

func main() {
    let users = Users(client)
    
    do {
        let users = try await users.list()
        print(String(describing: users.toMap()))
    } catch {
        print(error.localizedDescription)
    }
}

了解更多

您可以使用以下资源来了解更多信息并获得帮助

贡献

此库由 Appwrite 自定义 SDK Generator 自动生成。 要了解更多关于如何帮助我们改进此 SDK 的信息,请在发送拉取请求之前查看 贡献指南

许可

有关更多信息,请参阅 BSD-3-Clause 许可 文件。