Ami*_*tan 1 api cocoa-touch twitpic ios4 twitter-oauth
我尝试使用GSTwitPicEngine类https://github.com/Gurpartap/GSTwitPicEngine在twitter上分享图片
但是它给出错误
因为我们必须设置[twitpicEngine setAccessToken:token];
我是否正确,我使用_accessToken
类SA_OAuthTwitterEngine
作为标记
_accessToken
在课堂上是私人的SA_OAuthTwitterEngine
,我把它设置为公开的
@property (nonatomic, readonly) OAToken *accessToken;
@synthesize accessToken = _accessToken;
Run Code Online (Sandbox Code Playgroud)
然后在行动
twitPicEngine = [GSTwitPicEngine twitpicEngineWithDelegate:self];
[twitPicEngine setAccessToken:twitterObj.accessToken];
[twitPicEngine uploadPicture:[shareDict objectForKey:@"image"] withMessage:[shareDict objectForKey:@"image_msg"]];
Run Code Online (Sandbox Code Playgroud)
但是,当setAccessToken与日志一起时,应用程序崩溃
-[OAToken parameters]: unrecognized selector sent to instance 0x6327e30
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[OAToken parameters]: unrecognized selector sent to instance 0x6327e30'
Run Code Online (Sandbox Code Playgroud)
如果你能找到任何错误,请帮忙
阿米特巴图
不幸的是,GSTwitPicEngine并没有使用相同版本的oauth-consumer而不是神话般的Twitter + Oauth库(SAOAuthTwitterEngine).我假设您正在使用该库向Twitter发送消息.
崩溃是因为来自Twitter + Oauth的OAToken没有实现"参数"方法.
今天我花了整整一个上午调整了几个库来避免崩溃.在这里,您可以下载我创建的示例项目,用于将带有消息的twitpic照片发布到twitter.
该项目拥有github所有库的所有最新版本.
使我的TestTwitpic项目工作的说明:
在TestTwitpic-Prefix.pch中设置变量:
#define kTwitterOAuthConsumerKey @""
#define kTwitterOAuthConsumerSecret @""
#define kTwitPicAPIKey @""
Run Code Online (Sandbox Code Playgroud)
在RootViewController中,您可以根据需要更改这些行.要更改照片:
//change [UIImage imageNamed:@"image.jpg"] for whatever UIImage you want to upload
//change @"my photo" for whatever title you want for your photo in twitpic website
[twitpicEngine uploadPicture:[UIImage imageNamed:@"image.jpg"] withMessage:@"my photo"];
Run Code Online (Sandbox Code Playgroud)
并且这个改变发送给twitter的消息:
//I post to twitter the title of the photo and the twitpic url but you can post whatever you want
[engine sendUpdate:[NSString stringWithFormat:@"%@ %@", [[[response objectForKey:@"request"] userInfo] objectForKey:@"message"], [[response objectForKey:@"parsedResponse"] objectForKey:@"url"]]];
Run Code Online (Sandbox Code Playgroud)
如果要根据此示例创建自己的项目.请执行下列操作:
如果你想知道我为修复库做了什么,我会告诉你或多或少我记得我做过的事情:
GSTwitPicEngine
使用TouchJSON
而不是YAJL
.NSDictionary *foo = [NSDictionary dictionaryWithObject:[token key] forKey:@"oauth_token"];
response = [[CJSONDeserializer deserializer] deserialize:responseString error:&error];
response = [[CJSONDeserializer deserializer] deserialize:[responseString dataUsingEncoding:NSUTF8StringEncoding] error:&error];
归档时间: |
|
查看次数: |
2220 次 |
最近记录: |