JBDScaleway
Scaleway API的iOS框架
要求
- iOS 8.0+ / Mac OS X 10.10+ / tvOS 9.0+ / watchOS 2.0+
- Xcode 9.0+
安装
依赖管理器
CocoaPods
CocoaPods是Cocoa项目的依赖管理器。您可以使用以下命令安装它:
$ gem install cocoapods
要使用CocoaPods将JBDScaleway集成到Xcode项目中,请在您的Podfile
中指定它:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'JBDScaleway', '~> 1.0'
然后,运行以下命令:
$ pod install
Carthage
Carthage是一个分布式依赖管理器,它自动将框架添加到您的Cocoa应用程序。
您可以使用以下命令使用Homebrew安装Carthage:
$ brew update
$ brew install carthage
要使用Carthage将JBDScaleway集成到Xcode项目中,请在您的Cartfile
中指定它:
github "jbdujardin/JBDScaleway" ~> 1.0
Swift Package Manager
要将JBDScaleway作为Swift Package Manager包使用,只需在您的Package.swift文件中添加以下内容:
import PackageDescription
let package = Package(
name: "HelloJBDScaleway",
dependencies: [
.Package(url: "https://github.com/jbdujardin/JBDScaleway.git", .upToNextMajor(from: "1.0"))
]
)
手动
如果您不希望使用上述任何依赖管理器,您可以将 JBDScaleway 手动集成到您的项目中。
Git 子模块
- 打开终端,切换到顶级项目目录,如果您的项目还没有初始化为 git 仓库,请运行以下命令
$ git init
- 通过运行以下命令将 JBDScaleway 作为 git 子模块 添加
$ git submodule add https://github.com/jbdujardin/JBDScaleway.git
$ git submodule update --init --recursive
-
打开新的
JBDScaleway
文件夹,将JBDScaleway.xcodeproj
拖入应用程序的 Xcode 项目的 Project Navigator 中。它应该位于应用程序的蓝色项目图标之下。它位于所有其他 Xcode 组之上或之下并不重要。
-
在 Project Navigator 中选择
JBDScaleway.xcodeproj
并验证部署目标与您的应用程序目标相匹配。 -
接下来,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标)以转到目标配置窗口,并在侧边栏的“Targets”标题下选择应用程序目标。
-
在窗口顶部的工具栏中,打开“General”面板。
-
在“Embedded Binaries”部分下点击
+
按钮。 -
您将看到两个不同的
JBDScaleway.xcodeproj
文件夹,每个文件夹内部都有一个嵌套的JBDScaleway.framework
,位于一个Products
文件夹中。您可以选择哪个
Products
文件夹并不重要。 -
选择
JBDScaleway.framework
。 -
就这样了!
将
JBDScaleway.framework
自动添加为目标依赖项,链接框架和嵌入框架到复制文件的编译阶段,这就是您在模拟器和设备上构建所需的一切。
内嵌二进制文件
- 从https://github.com/jbdujardin/JBDScaleway/releases下载最新版本
- 接下来,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标)以转到目标配置窗口,并在侧边栏的“Targets”标题下选择应用程序目标。
- 在窗口顶部的工具栏中,打开“General”面板。
- 在“Embedded Binaries”部分下点击
+
按钮。 - 添加下载的
JBDScaleway.framework
。 - 就这样了!
手动
如果您不希望使用上述任何依赖管理器,您可以将 JBDScaleway 手动集成到您的项目中。
Git 子模块
- 打开终端,切换到顶级项目目录,如果您的项目还没有初始化为 git 仓库,请运行以下命令
$ git init
- 通过运行以下命令将 JBDScaleway 作为 git 子模块 添加
$ git submodule add https://github.com/jbdujardin/JBDScaleway.git
$ git submodule update --init --recursive
-
打开新的
JBDScaleway
文件夹,将JBDScaleway.xcodeproj
拖入应用程序的 Xcode 项目的 Project Navigator 中。它应该位于应用程序的蓝色项目图标之下。它位于所有其他 Xcode 组之上或之下并不重要。
-
在 Project Navigator 中选择
JBDScaleway.xcodeproj
并验证部署目标与您的应用程序目标相匹配。 -
接下来,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标)以转到目标配置窗口,并在侧边栏的“Targets”标题下选择应用程序目标。
-
在窗口顶部的工具栏中,打开“General”面板。
-
在“Embedded Binaries”部分下点击
+
按钮。 -
您将看到两个不同的
JBDScaleway.xcodeproj
文件夹,每个文件夹内部都有一个嵌套的JBDScaleway.framework
,位于一个Products
文件夹中。您可以选择哪个
Products
文件夹并不重要。 -
选择
JBDScaleway.framework
。 -
就这样了!
将
JBDScaleway.framework
自动添加为目标依赖项,链接框架和嵌入框架到复制文件的编译阶段,这就是您在模拟器和设备上构建所需的一切。
内嵌二进制文件
- 从https://github.com/jbdujardin/JBDScaleway/releases下载最新版本
- 接下来,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标)以转到目标配置窗口,并在侧边栏的“Targets”标题下选择应用程序目标。
- 在窗口顶部的工具栏中,打开“General”面板。
- 在“Embedded Binaries”部分下点击
+
按钮。 - 添加下载的
JBDScaleway.framework
。 - 就这样了!
用法
导入框架
import JBDScaleway
初始化上下文
let region = ApiRegion.paris
let context = NonPersistentApiContext(region: region)
// If you have the Auth Token
context.authToken = "12345678-1234-1234-1234-1234567890ab"
服务
-
AlamofireAuthService
- 创建令牌
- 获取令牌
- 获取令牌
- 增加令牌过期时间
- 删除令牌
-
AlamofireUserService
- 获取用户
-
AlamofireOrganizationService
- 获取组织机构
- 获取组织机构
-
AlamofireServerService
- 获取服务器
- 获取服务器
- 创建服务器
- 更新服务器
- 删除服务器
- 获取服务器动作
- 在服务器上执行动作
-
AlamofireImageService
- 获取图片
- 获取图片
- 创建图片
- 更新图片
- 删除图片
-
AlamofireIPService
- 获取IP地址
- 获取IP地址
- 创建IP地址
- 将IP地址附加到服务器
- 删除IP地址
-
AlamofireSecurityGroupService
- 获取安全组
- 获取安全组
- 创建安全组
- 更新安全组
- 删除安全组
- 创建规则
- 获取规则
- 更新规则
- 获取规则
- 删除规则
-
AlamofireSnapshotService
- 获取快照
- 获取快照
- 创建快照
- 更新快照
- 删除快照
-
AlamofireVolumeService
- 获取卷
- 获取卷
- 创建卷
- 删除卷
示例
登录
let authService = AlamofireAuthService(context: context)
authService.createToken(email: "[email protected]", password: "qwerty", completion: { (token, error) in
...
})
组织
let organizationService = AlamofireOrganizationService(context: context)
organizationService.getOrganizations(completion: { (organizations, error) in
...
})
服务器
let serverService = AlamofireServerService(context: context)
serverService.getServers(completion: { (servers, error) in
...
})
贡献
欢迎提交问题和发行请求!
作者
Jean-Baptiste Dujardin @jbdujardin
授权
JBDScaleway遵循MIT授权协议。有关详细信息,请参阅LICENSE。