iphone - 使用 ObjectiveC/iPhone 中的 TwitPic API

标签 iphone objective-c api twitter

这里有一个类似的问题,我已经阅读过,并且尝试遵循那里给出的建议...我认为我已经完成了 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];

我收到一条错误消息,指出“找不到图像”。

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

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

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

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

干杯,

杰米。

最佳答案

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

[request setData:twitPicImage forKey:@"media"];

您正在进行同步调用,这会在您上传所有图像数据时停止您的应用程序 - 您可能需要切换到使用 NSOperationQueue 或允许您显示进度条的 ASINetworkQueue 子类。

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

关于iphone - 使用 ObjectiveC/iPhone 中的 TwitPic API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/749630/

相关文章:

java - 如何使用 github java API (org.eclipse.egit.github.*) 搜索给定的提交哈希

iphone - GMSGroundOverlay 有哪些限制?

ios - Swift 二维数组最小值

ios - 关于日期和时间设置更改的通知

ios - 更改 Firebase 的包 ID

PHP Swagger 和 Yii

iphone - NSArray 和 NSMutableArray 的区别

iphone - NSString 对象的最大长度是多少?

ios - 自定义 UIImage 序列

c# - 使用 WinRT 检索设备的序列号