EVWordPressAPI 0.4.0

EVWordPressAPI 0.4.0

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

evermeer 维护。



 
依赖项
Alamofire>= 0
KeychainAccess>= 0
EVReflection>= 0
AlamofireOauth2>= 0
AlamofireJsonToObjects>= 0
 

WordPress (Jetpack) API 的 Swift 实现。

简介

EVWordPressAPI 将 WordPress (Jetpack) API 调用映射到方法调用,其中结果以易于使用的对象返回

有关更多信息,请参阅 WordPress API 文档

需要身份验证的测试调用将从演示应用程序中执行。您必须配置 Oauth2Settings。更多信息请参阅 ViewController.swift。无需身份验证的调用将从 EVWordPressAPITests.swift 中的 unittests 进行测试

依赖项

EVWordPressAPI 使用的以下 (cocoapods) 库

进度

该项目最初是 AlamofireJsonToObjects 的一个试验。有超过 100 个 WordPress API 调用。映射所有这些将需要一些时间(乐于提供帮助 :))。到目前为止,只实现了以下 API 调用

API 部分 - 状态(目前仅为 get 调用)

  • 用户 - 所有 4 个 get 调用已实现
  • 站点 - 所有 11 个 get 调用已实现
  • 帖子 - 所有 6 个 get 调用已实现
  • 评论 - 所有 5 个 get 调用已实现
  • 分类法 - 所有 4 个 get 调用已实现
  • 关注 - 所有 2 个 get 调用已实现
  • 最新Pressed - 执行了 1 个 get 调用
  • 通知 - 只有帖子
  • 洞察 - 执行了 2 个 get 调用
  • 读者 - 执行了 10 个 get 调用
  • 统计数据 - 执行了 10 个,还有 9 个待执行
  • 媒体 - 待执行
  • 菜单 - 待执行
  • 批量 - 待执行
  • 视频 - 待执行

在您的应用中使用 EVWordPressAPI

'EVWordPressAPI' 现可通过依赖管理器 CocoaPods 获取。您必须使用 0.36 版本的 CocoaPods。目前,它可以通过执行以下命令安装:

[sudo] gem install cocoapods

CocoaPods 0.36 版本将您使用的所有 pod 制作成动态框架。因此,它只支持 iOS 8.0 或更高版本。在您的 swift 文件顶部添加导入语句后,才能使用框架,如下:

import EVWordPressAPI

构建 EVWordPressAPITests

1) 将存储库克隆到工作目录

2) CocoaPods 用于管理依赖项。Pods 设置简单,并通过 Ruby Gem 分发。请遵循网站上的简单说明进行设置。设置完成后,在 EVWordPressAPI 的根目录下运行以下命令以下载依赖项:

pod install

3) 在 Xcode 中打开 EVWordPressAPI.xcworkspace

4) 在 https://developer.wordpress.com/docs/oauth2/ 创建自己的 clientID 和 clientSecret。

5) 在 ViewController.swift 文件中将 wordpressOauth2Settings 对象中的 clientID 和 clientSecret 设置好

接下来就绪了!

如何使用 EVWordPressAPI

以下是简单调用的示例代码

let api = EVWordPressAPI(baseUrl: "https://public-api.wordpress.com/rest/v1.1", site: "evict.nl")
api.posts([.number(19)]) { posts in
    // now use the posts object
}

还支持需要身份验证(OAuth2)的 API 调用。以下是该示例代码

let wordpressOauth2Settings = Oauth2Settings(
    baseURL: "https://public-api.wordpress.com/rest/v1.1",
    authorizeURL: "https://public-api.wordpress.com/oauth2/authorize",
    tokenURL: "https://public-api.wordpress.com/oauth2/token",
    redirectURL: "alamofireoauth2://wordpress/oauth_callback",
    clientID: "????????????",
    clientSecret: "????????????"
)

let api = EVWordPressAPI(wordpressOauth2Settings: self.wordpressOauth2Settings, site: "evict.nl")
api.users(self, parameters:[.number(19), .authors_only(false)]) { users in
    // now use the users object
}

所有调用都有一个参数数组,其中可以包含一个枚举类型的列表,其中值将被传递作为关联值。只需指定具有非默认值的参数。

所有结果对象都有错误和消息属性。如果发生错误,这些属性将具有值。这些可能会包含来自服务的错误信息(请参阅每个调用的文档)。除了这些之外,还可能包含“OAuth2 错误”或“网络错误 ...”以及详细信息的消息。

如果需要身份验证,则方法调用将包含一个参数,应使用活动 ViewController 填充。身份验证 webview 将作为那个 viewcontroller 的子项创建。

许可证

EVWordPressAPI 可在 MIT 3 许可证下使用。有关更多信息,请参阅 LICENSE 文件。

我的其他库

有关更多信息,请参阅我的其他开源 iOS 库

  • EVReflection - 支持NSCoding、Printable、Hashable、Equatable 和 JSON 的反射功能的 Swift 库
  • EVCloudKitDao - 简化了 Apple CloudKit 的访问
  • EVFaceTracker - 根据您的设备与您的脸部相对距离和角度来计算以模拟 3D 效果
  • EVURLCache - 用于处理使用 NSURLRequest 的所有 web 请求的 NSURLCache 子类
  • AlamofireJsonToObject - 使用 EVReflection 将 JSON 响应数据转换为 Swift 对象的 Alamofire 扩展
  • AlamofireOauth2 - 使用 Alamofire 实现的 OAuth2
  • EVWordPressAPI - 使用 AlamofireOauth2、AlomofireJsonToObjects 和 EVReflection 实现 WordPress (Jetpack) API 的 Swift 实现(仍在开发中)
  • PassportScanner - 扫描护照上的MRZ码并提取名、姓、护照号码、国籍、出生日期、过期日期和个人号码。