测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2014年12月 |
由 Donald Burr 维护。
依赖项 | |
AFNetworking | ~> 1.0.0 |
SSKeychain | ~> 0.1.4 |
NNNetwork 是一组用于 Postr 的网络操作类。它基于 AFNetworking 搭建,并提供网络、OAuth 1.0 工具和订阅后集成类。
NNOAuth
类提供生成 OAuth 1.0 HTTP 授权头的一个接口。您也可以使用 NSURLRequest(NNNetwork)
类别来复制并签署一个请求,或者使用 NSMutableURLRequest(NNNetwork)
类别来签署一个现有请求。NNNetwork 含有 NNOAuth1Client
,它扩展了 AFHTTPClient
,以实现对 OAuth 服务的交互。它定义了自定义方法,用于从基 URL 的相对路径中创建已签署请求。您也可以通过继承 NNOAuthClient
并重写 signRequest:withParameters:credential:
来定义自己的 OAuth 客户端(例如 OAuth 2.0)。您可以使用 NNOAuthClient
子类的方式就像使用 AFHTTPClient
子类一样。
SomeOAuthClientSublass *client = [SomeOAuthClientSublass sharedClient];
client.clientIdentifier = @"your-app-identifier";
client.clientSecret = @"your-app-secret";
NNOAuthCredential *credential = [NNOAuthCredential credentialWithAccessToken:@"user-token" accessSecret:@"user-secret"];
[client signedGetPath:@"some-endpoint" parameters:nil credential:credential success:^(AFHTTPRequestOperation *operation, id responseObject){
// Handle success.
} failure:^(AFHTTPRequestOperation *operation, NSError *error){
// Handle failure.
}];
NNNetwork 定义了 Instapaper、Pocket 和 Readability 的客户端,当前允许您将 URL 发送到阅读列表。这些类扩展了 NNOAuth1Client
并符合 NNReadLaterClient
协议以保持一致性。NNNetwork 支持 Instapaper、Pocket 和 Readability。它还提供了对应的 UIActivity
子类。它们与 UIActivityController
一起使用,并带有图像资源。以下是您如何展示支持 Instapaper 的活动视图控制器从 iOS 6 中的一个视图控制器中的示例:
[[NNInstapaperClient sharedClient] setClientIdentifier:@"your-instapaper-app-identifier"];
[[NNInstapaperClient sharedClient] setClientSecret:@"your-instapaper-app-secret"];
NNOAuthCredential *credential = [NNOAuthCredential credentialWithAccessToken:@"user-token" accessSecret:@"user-secret"];
NSURL *readLaterURL = [NSURL URLWithString:@"http://github.com/tomazsh/NNNetwork"];
NNInstapaperActivity *activity = [[NNInstapaperActivity alloc] initWithCredential:credential];
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[readLaterURL] applicationActivities:@[activity]];
[self presentViewController:controller animated:YES completion:nil];
NNNetwork 附带一个示例应用,演示了如何使用阅读列表客户端和活动为从 Y Combinator 的 Hacker News 中获取文章的简单应用提供阅读列表支持。
详细文档可在此处获得:http://tomazsh.github.com/NNNetwork/。
NNNetwork 需要 iOS 5.0 和使用 ARC。您可以使用所有类别和签署 OAuth 请求。阅读列表活动需要 iOS 6.0。NNNetwork 需要 AFNetworking 来提供 OAuth 客户端支持和阅读列表集成。OAuth 证书兼容 Keychain 需要使用 SSKeychain。
目前不支持OAuth 1.0 RSA-SHA1签名算法。同样,也不支持OAuth 2.0。
NNNetwork可在MIT许可证下使用。请参考LICENSE文件以获取更多信息。