测试已测试 | ✗ |
语言语言 | Objective-CObjective C |
许可证 | MIT |
发布最后发布 | 2015年7月 |
由Terwer Green维护。
依赖 | |
AFNetworking | ~> 2.5.1 |
wpxmlrpc | ~> 0.7 |
适用于 OS X 和 iOS 的简单 MetaWeblog Api,用 Objective-C 编写。
版本:V0.9
开发工具:XCode 版本 7.0 测试版 (7A121l) iOS7.0+
开发环境:Mac Pro OS X Yosemite 10.10.4
作者:Terwer Green
作者电子邮件: [email protected]
当前支持的博客
Wordpress、ZBlog、Cnblogs、OSChina、163、51CTO、Sina
当前支持的 API
有关更多详细信息,请参阅 https://gist.github.com/terwer/7acc30a460e3ef671415。
platform :ios, '7.0'
pod 'TGMetaWeblogApi', '~> 0.1'
1. 添加 Podfile 并运行 pod install
2. 导入头文件
#import "TGMetaWeblogApi.h"
3. 调用 API,例如
请参阅 示例项目以获取更多详细信息。
身份验证示例
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//处理登录
//wordpress
[self doLogin:[NSURL URLWithString:@"http://www.xxx.com/"] andUsername:@"user" andPassword:@"pwd"];
}
//使用xmlrpcURL登录
-(void)doLogin:(NSURL *)xmprpcURL andUsername:(NSString *)username andPassword:(NSString *)password{
// Sign in
[TGMetaWeblogAuthApi signInWithURL:[xmprpcURL absoluteString]
username:username
password:password
success:^(NSURL *xmlrpcURL) {
NSLog(@"success:%@",xmlrpcURL);
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
[def setObject:[xmlrpcURL absoluteString] forKey:@"mw_xmlrpc"];
[def setObject:username forKey:@"mw_username"];
[def setObject:password forKey:@"mw_password"];
[def synchronize];
//跳转
//下面是nil
//UIStoryboard *storyboard = self.storyboard;
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
MasterNavViewController *masterNavController=[storyboard instantiateViewControllerWithIdentifier:@"MasterNavViewController"];
[self presentViewController:masterNavController animated:YES completion:nil];
}
failure:^(NSError *error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}];
获取 RecentPost 示例
- (BOOL)setupApi {
if (self.api == nil) {
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSString *xmlrpc = [def objectForKey:@"mw_xmlrpc"];
if (xmlrpc) {
NSString *username = [def objectForKey:@"mw_username"];
NSString *password = [def objectForKey:@"mw_password"];
if (username && password) {
self.api = [TGMetaWeblogAuthApi apiWithXMLRPCURL:[NSURL URLWithString:xmlrpc] username:username password:password];
}
}
}
//api初始化成功
if (self.api) {
return YES;
}else{
return NO;
}
}
- (void)refreshPosts:(id)sender {
[self.api getRecentPosts:10
success:^(NSArray *posts) {
NSLog(@"We have %lu posts", (unsigned long) [posts count]);
self.posts = posts;
[self.tableView reloadData];
}
failure:^(NSError *error) {
NSLog(@"Error fetching posts: %@", [error localizedDescription]);
}];
}
- (void) insertNewObject:(id)sender{
NSLog(@"insert");
}
如果您有任何问题,请在此创建 问题 或通过电子邮件联系我:mailto:[email protected].
该项目仍在开发中,尚未完成。如果您对项目感兴趣,请创建 pull request。