ChuteSDK-iOS 1.0.0

ChuteSDK-iOS 1.0.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最新发布2017年5月
SwiftSwift版本3.0
SPM支持SPM

Oliver Dimitrov维护。



 
依赖关系
Alamofire~> 4.4
AlamofireObjectMapper~> 4.1
SwiftKeychainWrapper~> 3.0
 

  • 作者
  • Oliver Dimitrov

Chute-SDK-iOS

一个允许您管理您的相册和资产的SDK

要求

  • iOS 9.0+
  • Xcode 8.2+
  • Swift 3.0+

安装

依赖关系

此SDK有依赖,包括以下列表:

  • pod ‘Alamofire’, ‘~> 4.4’
  • pod ‘AlamofireObjectMapper’, ‘~> 4.1’
  • pod ‘SwiftKeychainWrapper’, ‘~> 3.0’

使用

仅导入SDK到您的类上

import ChuteSDK_iOS

配置

如果您是客户,则应用程序已创建。要请求凭证,请联系我们的支持团队。为了使SDK工作,您需要在配置目录中复制GCConfiguration-Sample.plist并重命名为GCConfiguration.plist。然后您需要手动将其添加到项目中。然后在chute-sdk字典中插入由支持团队提供的app_idapp_secret

客户端身份验证

您需要用户登录才能使用该SDK。您可以使用GCLoginService类的方法

GCLoginService.login(email: "your_chute_email", password: "your_chute_password",  completion: { (token) in }, failure: { (error) in })

身份验证令牌会自动设置在您的keychain中,并在ClientManager类的共享实例中保留在内存中。

注销

简单地调用ClientManager类的方法

ClientManager.shared.clearAuthorizationToken

服务

以下部分包含所有可以执行的动作。

用户

GCUserService类提供以下方法

GCUserService.getMyInfo(completion: { (user) in }, failure: { (error) in })
GCUserService.getUser(id: user_id, completion: { (user) in }, failure: { (error) in })
GCUserService.createUser(email: "user_email", name: "full name", username: "username", title: "proffession", company: "user_company", password: "user_pass", retypePassword: "retype_pass", completion: { (user) in }, failure: { (error) in })
GCUserService.updateMyInfo(email: "new_email", name: "full name", username: "username", title: "proffession", company: "company", completion: { (user) in }, failure: { (error) in })
GCUserService.updateUser(id: user_id, email: "new_email", name: "full_name", username: "username", title: "proffession", company: "company", completion: { (user) in }, failure: { (error) in })

方法还有一些可选参数,因此您可以省略它们。

相册

GCAlbumService类提供相册操作动作

GCAlbumService.getAlbum(id: album_id, cover: true, completion: { (status, album) in }, failure: { (error) in })
GCAlbumService.getAlbums(cover: true, page: 1, perPage: 100, completion: { (status, albums, pagination) in }, failure: { (error) in })
GCAlbumService.createAlbum(name: "", parentAlbumId: parent_album_id, coverAssetID: cover_asset_id, completion: { (status, album) in }, failure: { (error) in })
GCAlbumService.updateAlbum(id: album_id, name: "updated_album_name", parentAlbumId: parent_id coverAssetID: cover_asset_id, completion: { (status, album) in }, failure: { (error) in })
GCAlbumService.deleteAlbum(id: album_id, completion: { (status) in }, failure: { (error) in })
GCAlbumService.listAllAlbumsForAlbum(id: album_Id, completion: { (sattus, albums) in }, failure: { (error) in })

方法也有一些可选参数,因此您可以省略它们。(例如 pageperPage。如果省略,则使用默认值:page = 1perPage = 100

资产

GCAssetService 类提供了资产操作功能

GCAssetService.getAssets(albumId: album_id, type: .image, username: "specific_user", tags: [list_of_tags], service: .uploaded, page: 1, perPage: 100 completion: { (status, assets, pagination) in }, failure: { (error) in })
GCAssetService.getAsset(id: asset_id, albumId: album_id, completion: { (status, asset) in }, failure: { (error) in })
GCAssetService.moveAsset(id: asset_id, fromAlbum: source_album_id, toAlbum: destination_album_id, completion: { (status, asset) in }, failure: { (error) in })
GCAssetService.copyAsset(id: asset_id, fromAlbum: source_album_id, toAlbum: destination_album_id, completion: { (status, asset) in }, failure: { (error) in })
GCAssetService.removeAsset(id: asset_id, albumId: album_id, completion: { (status) in }, failure: { (error) in })
GCAssetService.importAssets(urls: [list_of_urls], albumId: album_id, completion: { (status, assets, pagination) in }, failure: { (error) in })

方法也有可选参数,因此您可以省略它们(例如,在 getAssets 中,参数 type。如果您跳过它,您将获取所有类型的返回结果)。

标签

GCTagService 类提供了标签操作功能

GCTagService.getTags(id: asset_id, albumId: album_id, completion: { (status, tags) in }, failure: { (error) in })
GCTagService.add(tags: [tags_to_add], assetId: asset_id, albumId: album_id, completion: { (status, tags) in }, failure: { (error) in })
GCTagService.replace(tags: [tags_to_replace], assetId: asset_id, albumId: album_id, completion: { (status, tags) in }, failure: { (error) in })
GCTagService.delete(tags: [tags_to_delete], assetId: asset_id, albumId: album_id, completion: { (status, tags) in }, failure: { (error) in })

投票

GCVoteService 类提供了投票操作功能

GCVoteService.getVoteCount(assetId: asset_id, albumId: album_id, completion: { (status, voteCount) in }, failure: { (error) in })
GCVoteService.voteAsset(id: asset_id, albumId: album_id, completion: { (status, vote) in }, failure: { (error) in })
GCVoteService.unVoteAsset(id: asset_id, albumId: album_id, completion: { (status) in }, failure: { (error) in })

喜爱

GCHeartService 类提供了喜爱操作功能

GCHeartService.getHeartCount(assetId: asset_id, albumId: album_id, completion: { (status, heartCount) in }, failure: { (error) in })
GCHeartService.heartAsset(id: asset_id, albumId: album_id, completion: { (status, heart) in }, failure: { (error) in })
GCHeartService.unheartAsset(id: asset_id, albumId: album_id, completion: { (status) in }, failure: { (error) in })

许可证

ChuteSDK 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。