ADNKit 1.3.1

ADNKit 1.3.1

测试已测试
语言语言 Obj-CObjective C
许可证 BSD
发布最后一个发布2015年3月

Joel Levin 维护。



ADNKit 1.3.1

  • Joel Levin

ADNKit 是一个全新的 Objective-C 框架,用于构建 App.net iOS 和 OS X 应用程序。指导设计原则是:

  • 简洁且强大的 API
  • 尽可能多地为您完成繁重的工作(即,大量便利方法)
  • 100% 支持 App.net API 和功能
  • 除了 AFNetworking 外无其他外部依赖
  • 多用户支持

注意:此框架的基本核心结构基于 Matt Rubin 在他 AppDotNet 项目中的出色架构工作。

使用 ADNKit 的应用程序

如果您想在列表上添加应用程序,请提交一个问题!

入门

有关完整文档,请参阅 wiki

安装

ADNKit 使用子模块作为其依赖项。在克隆仓库后,在尝试构建框架之前,请从顶级目录运行 git submodule update --init --recursive。还有一个包含最新稳定二进制发布版(适用于 Mac OS X 和 iOS)和头文件的 Release 文件夹。

多亏了 Ash Furrow,ADNKit 也可通过 CocoaPods 获取。

iOS

对于 iOS 应用程序,请确保您已经将包含 ADNKit 头文件文件夹的文件夹添加到您的头文件搜索路径中。此文件夹可以从 Release/ADNKit 复制,或者如果 ADNKit 是项目中作为子模块,您可以直接指向该位置(即路径可能类似于 'Vendor/ADNKit/Release/ADNKit')。另外,将 Release 文件夹本身添加到头文件和库搜索路径中。

还要确保将 -all_load-ObjC 链接器标志添加到“其他链接器标志”。如果 ADNKit 已作为子模块添加,并且您计划使用 Release 文件夹中的二进制构建,则需要将 Release 文件夹本身添加到您的头文件搜索路径中(非递归)。这样做将允许 ADNKit.h 使用的格式在您的项目中工作。

部署要求

ADNKit 需要使用 OS X 10.7 或更高版本,或 iOS 5.0 或更高版本。通过使用优秀的 Deploymate 工具确保操作系统版本兼容性。

世界,你好!

认证

有关如何使用 ADNKit 进行认证的更多信息,包括如何设置和实现用户名/密码和 OAuth 认证,请访问此处

如果您正在编写 iOS 应用程序,请务必查看 ADNKit 提供的功能,这些功能可以帮助您在 iOS 上更轻松地实现身份验证[访问功能](https://github.com/joeldev/ADNKit/wiki/Easy-authentication-for-iOS-apps)

/* this assumes you have two text fields, usernameField and passwordField */

// ask for permission to see user information and send new Posts
ANKAuthScope requestedScopes = ANKAuthScopeBasic | ANKAuthScopeWritePost;

// handler to call when finished authenticating
id handler = ^(BOOL success, NSError *error) {
    if (success) {
        NSLog(@"we are authenticated and ready to make API calls!");
    } else {
        NSLog(@"could not authenticate, error: %@", error);
    }
};

// authenticate, calling the handler block when complete
[[ANKClient sharedClient] authenticateUsername:usernameField.text
                                      password:passwordField.text
                                      clientID:@"xxxxxx"
                           passwordGrantSecret:@"zzzzzz"
                                    authScopes:requestedScopes
                             completionHandler:handler];

一旦成功响应完成,即可立即开始使用 API 的其余部分。

创建帖子

现在我们已经通过 App.net 完成认证,让我们发表第一个帖子

[[ANKClient sharedClient] createPostWithText:@"Hello, world!" completion:^(ADNPost *post, NSError *error) {
    NSLog(@"post created! %@", post ?: error);
}];

就这么简单!您应该在自己的流中看到来自自己的新帖子,以及在控制台中的 Post 对象!

您也可以通过以下方式实现相同的操作

ADNPost *post = [[ADNPost alloc] init];
post.text = @"Hello, world!";
[[ANKClient sharedClient] createPost:post completion:^(ADNPost *post, NSError *error) {
    NSLog(@"post created! %@", post ?: error);
}];

直接使用模型对象可以让您完全设置它们(例如,设置 post.annotations)。不是每个设置都有一个便捷方法,因此更复杂的情况应通过创建模型对象、按您的需求设置它,然后将它直接传递给 ANKClient 方法来处理。

支持多个已登录的用户账户

有关如何支持多个用户账户的文档和示例代码可在此处找到 [链接](https://github.com/joeldev/ADNKit/wiki/Supporting-multiple-logged-in-Users)。总结如下:不要使用 ANKClient 的 sharedClient,而是为每个用户分配和初始化自己的客户端对象。

文档

在 wiki 上有许多值得阅读的文章和文档 [访问wiki](https://github.com/joeldev/ADNKit/wiki)

依赖项

ADNKit 使用以下依赖项

许可协议

BSD 3-Clause License

版权所有 (C) 2013, Joel Levin。保留所有权利。

以下条件成立,允许以源代码形式或二进制形式重新分发或使用,无论是否修改

  • 源代码重分发必须保留上述版权声明、本条件列表以及以下免责声明。
  • 二进制形式的重新分发必须在文档和/或其他与分发一起提供的材料中复制上述版权声明、本条件列表和以下免责声明。
  • 未经事先书面许可,不得使用 ADNKit 或其贡献者的姓名来认可或推广源自本软件的产品。

本软件由版权所有者和贡献者“按原样”提供,并不承担任何明示或暗示的保证,包括但不限于适销性和适用于特定目的的隐含保证。在任何情况下,版权所有者或贡献者不对因使用本软件而造成的任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的丧失;或业务的中断)承担责任,即使已通知了此类损害的可能性。