【发布时间】:2011-10-02 00:35:29
【问题描述】:
如果我有任何关于如何处理我在 Facebook 上发布图片的问题的建议,我将不胜感激。
下面的代码和我预期的一样工作:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"http://myserver/img.png", @"picture",
@"My Testing", @"name",
@"Enter some text...", @"message",
nil];
[appDelegate.facebook dialog:@"feed" andParams:params andDelegate:self];
但是,我真的很想使用从相机拍摄的图像。我已经在我的应用程序中设置了代码来执行此操作,并将图像放在屏幕上。所以,我试着这样做:
CGRect contextRect = CGRectMake(0, 0, 320, 436);
UIGraphicsBeginImageContextWithOptions(contextRect.size, YES, 1);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我已经测试了这段代码,newImage 是一个有效的 UIImage,我可以按照我的预期放置和操作它。但是,当我尝试将其集成到 Facebook 对话框中时,如下所示:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
newImage, @"picture",
@"My Testing", @"name",
@"Enter some text...", @"message",
nil];
[appDelegate.facebook dialog:@"feed" andParams:params andDelegate:self];
我在控制台中收到这两条荒谬的消息: -[UIImage 长度]:无法识别的选择器发送到实例 0x1c9420 CoreAnimation:忽略异常:-[UIImage 长度]:无法识别的选择器发送到实例 0x1c9420
因此,作为测试,我想尝试将图像导入我的项目并直接访问它。这是我在第一个示例中在线引用的确切图像,所以我知道它应该可以工作。但即使我尝试这个:
UIImage *newImage = [UIImage imageNamed:@"BaB.png"];
我收到与上述相同的错误消息。
我在 Facebook 文档中看到“图片”键应该使用图像的 URL。但是我在网上看到了一些例子,表明人们使用的是 UIImage 而不仅仅是 URL。
很明显,我做错了什么,但我不知道它可能是什么。
我将非常感谢任何关于如何进行的指示。
【问题讨论】: