CanvasKit 0.55.2

CanvasKit 0.55.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期上次发布日期2014年12月

由以下人员维护:Derrick HathawayBrandon PluimBen KrausMiles WrightNathan LambsonNathan LambsonBrandon PluimNate Armstrong



 
依赖项
AFNetworking~> 2.3.1
Mantle~> 1.0
ISO8601DateFormatter>= 0
ReactiveCocoa>= 0
 

CanvasKit 0.55.2

  • Rick Roberts 和 Jason Larsen

CanvasKit by Instructure iOS


CanvasKit 是一个正在进行中的项目——架构仍然可能改变,并且并非所有 API 端点都已实现。


CanvasKit 是一个库,可以帮助您将您的第三方应用程序与 Instructure 的 Canvas 集成。

CanvasKit 基于 Canvas API 构建。CanvasKit 设计用于在提供易于使用的界面的同时提供极高的灵活性。您可以使用 CanvasKit 来构建用于 Canvas 的开源版本的以及由 Instructure 托管的实例的应用程序。

如何开始


注意:Canvas Kit 尚未是 Cocoapod,但将很快是


CocoaPods 是 Objective-C 的依赖管理器,它会自动简化使用例如 CanvasKit 的第三方库的过程。请参阅“入门”指南以获取更多信息。

Podfile

platform :ios, '7.0'
pod "CanvasKit", "~> 2.0"

2.0

CanvasKit 2.0 是从 CanvasKit 之前版本的重大重构。到目前为止,CanvasKit 仅在 Instructure 的内部项目中使用。最近重构的主要目标之一是使 CanvasKit 成为开源的,并便于第三方开发者使用。

使用

设置

为了使用 CanvasKit 与 Instructure 管理的 Canvas LMS 实例,您必须获取一个客户端 ID 和共享密钥。CanvasKit 使用 OAuth 2 进行身份验证。通过发送电子邮件到 [email protected] 请求您的客户端 ID 和共享密钥。请确保提供您的姓名、电子邮件和您打算如何使用 CanvasKit

CKIClient

CanvasKit 中的所有网络通信都由 CKIClient 负责。使用您的客户端 ID 和共享密钥创建 CKIClient,如下所示

CKIClient *client = [CKIClient clientWithBaseURL:url clientID:ClientID sharedSecret:SharedSecret];

如果客户端尚未登录,您可以调用 -login 来登录。此方法将处理向用户显示可模态网页和 OAuth 流程。最后,您可以查看

[[self.client login] subscribeError:^(NSError *error) {
    // do somethign with the error
} completed:^{
    // login completed successfully. do something.
}];

如果您想获取当前登录用户的信息,可以通过访问 client.currentUser 属性来实现。有关更多信息,请参阅 CKIUser

访问 API

CanvasKit包括Canvas LMS中许多对象的类。除了这些模型类,CanvasKit 还在 CKIClient 上提供了用于访问API端点的网络类别。例如,要获取当前用户的全部课程,您可以这样做

[[client fetchCoursesForCurrentUser] subscribeNext:^(NSArray *courses) {
    // handle a page of courses
}];

每个网络方法都以'fetch'开头,这使得您可以通过Xcode自动完成功能轻松查看所有可用选项。

有一点需要注意,CanvasKit使用ReactiveCocoa,但是,使用CanvasKit不需要了解ReactiveCocoa(尽管了解ReactiveCocoa可以使您执行更强大的功能)。每个网络调用都返回一个 RACSignal 对象。只需在该信号上调用 subscribeNext: 来处理数据。本质上,分页数据将被作为一个页面流来处理,即您的 subscribeNext: 块会被调用一次,对于每一页。

许可证

CanvasKit 采用MIT许可证提供。有关更多信息,请参阅LICENSE文件。