使用Objective/iPhone中的TwitPic API

使用Objective/iPhone中的TwitPic API,iphone,objective-c,api,twitter,Iphone,Objective C,Api,Twitter,关于这一点,这里有一个类似的问题,我已经读过了,我试着按照这里给出的建议去做。。。我想我完成了95%,但剩下的5%。。。嗯,你知道;-) 因此,我尝试调用twitPic API来上传一个图像,我在屏幕上显示的UIImageView中包含了该图像(我可以看到它,所以它肯定在那里)。形成API调用的代码如下所示: NSURL *url = [NSURL URLWithString:@"http://twitpic.com/api/upload"]; NSString *username =

关于这一点,这里有一个类似的问题,我已经读过了,我试着按照这里给出的建议去做。。。我想我完成了95%,但剩下的5%。。。嗯,你知道;-)

因此,我尝试调用twitPic API来上传一个图像,我在屏幕上显示的UIImageView中包含了该图像(我可以看到它,所以它肯定在那里)。形成API调用的代码如下所示:

    NSURL *url = [NSURL URLWithString:@"http://twitpic.com/api/upload"];
NSString *username = @"myUsername";
NSString *password = @"myPassword";
NSData *twitpicImage = UIImagePNGRepresentation(imageView.image);

// Now, set up the post data:
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];

[request setPostValue:twitpicImage forKey:@"media"];
[request setPostValue:username forKey:@"username"];
[request setPostValue:password forKey:@"password"];

// Initiate the WebService request
[request start];
[request setData:twitPicImage forKey:@"media"];
我从中得到一个错误,声明“未找到图像”

很明显我做错了什么吗?有什么提示吗?我对ObjectiveC只有一周的了解,所以这很可能是一个真正的新手错误

在同一条轨道上-我不清楚如何在代码中正确捕获成功或失败-我目前正在将“请求-响应字符串”转储到一个不是最好的警报中-我如何正确检查结果

我还看到了“NSLog”的使用——我怀疑它是一个调试/控制台日志工具——但我在XCode的任何地方都看不到它的输出——它似乎没有显示在调试器中——有任何线索吗

抱歉,如果上面的话真的很愚蠢-我可以接受一点嘲笑-但我对我的iPhone冒险感到有点孤立-没有人会反弹任何东西等等-所以我在这里发泄;-)

干杯


Jamie.

您需要使用setData方法将图像数据复制到帖子中,如下所示:

    NSURL *url = [NSURL URLWithString:@"http://twitpic.com/api/upload"];
NSString *username = @"myUsername";
NSString *password = @"myPassword";
NSData *twitpicImage = UIImagePNGRepresentation(imageView.image);

// Now, set up the post data:
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];

[request setPostValue:twitpicImage forKey:@"media"];
[request setPostValue:username forKey:@"username"];
[request setPostValue:password forKey:@"password"];

// Initiate the WebService request
[request start];
[request setData:twitPicImage forKey:@"media"];
您正在进行同步调用,这将在上载所有图像数据时暂停应用程序-您可能希望切换到使用NSOperationQueue或允许您显示进度条的ASINetworkQueue子类

您应该能够在XCode的调试器窗口中看到NSLog输出。确保您已切换到该位置(打开喷雾罐控制左上角)。您还可以启动控制台