新手关于新浪微博SDK for IOS的几个问题
一个项目需要用到新浪微博的API 所以试做了一下。结果发现一些问题请大大们帮忙。授权验证、获取用户信息、发布微博、获取微博功能都顺利实现。但是到实现转发微博事卡住了。按照官方API文档,发送请求机参数(微博ID,转发评论内容,APPKey等)并回调。程序到此崩溃。控制台显示如下:
导致崩溃代码(加粗部分):
SinaWeiboRequest.m:
+ (NSString *)serializeURL:(NSString *)baseURL params:(NSDictionary *)params httpMethod:(NSString *)httpMethod
{
NSURL* parsedURL = [NSURL URLWithString:baseURL];
NSString* queryPrefix = parsedURL.query ? @"&" : @"?";
NSMutableArray* pairs = [NSMutableArray array];
for (NSString* key in [params keyEnumerator])
{
if (([[params objectForKey:key] isKindOfClass:[UIImage class]])
||([[params objectForKey:key] isKindOfClass:[NSData class]]))
{
if ([httpMethod isEqualToString:@"GET"])
{
NSLog(@"can not use GET to upload a file");
}
continue;
}
NSString* escaped_value = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL, /* allocator */
(CFStringRef)[params objectForKey:key],
NULL, /* charactersToLeaveUnescaped */
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
[pairs addObject:[NSString stringWithFormat:@"%@=%@", key, escaped_value]];
[escaped_value release];
}
NSString* query = [pairs componentsJoinedByString:@"&"];
return [NSString stringWithFormat:@"%@%@%@", baseURL, queryPrefix, query];
}
求大大帮忙。
另 这里的微博ID 官方API文档说明是int64 Objective-C中有相应类型么?因为我觉得是这个微博ID的类型有问题导致崩溃。
补充:移动开发 , iPhone