如果我能就如何处理我在 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 length]:无法识别的选择器发送到实例 0x1c9420
CoreAnimation:忽略异常:-[UIImage length]:无法识别的选择器发送到实例 0x1c9420
因此,作为测试,我想尝试将图像导入到我的项目中并直接访问它。这与我在第一个示例中在线引用的图像完全相同,所以我知道它应该可以工作。但即使当我尝试这样做时:
UIImage *newImage = [UIImage imageNamed:@"BaB.png"];
我收到与上面相同的错误消息。
我在 Facebook 文档中看到“图片”键应该使用图像的 URL。但我在网上看到一些示例,表明人们正在使用 UIImage 而不仅仅是 URL。
显然,我做错了什么,但我不知道它可能是什么。
我将非常感谢任何有关如何继续的指示。