为什么facebook不接受我的UIImage?

时间:2013-04-01 21:54:29

标签: ios facebook sdk upload uiimage

如果我使用Facebook方法:

[FBRequestConnection startForUploadPhoto:sendPicture
                               completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                   if (!error) {

Facebook确实,在下面解释的相同情况下,并不总是接受我的UIImage。如果我按照以下方式创建图像:

CASE 1: UIImage *sendPicture = [UIImage imageNamed:@"f_logo.png"]

然后它接受我的UIImage,但是如果我创建它们的图像(在这个例子中,postImageView是一个UIImageView):

CASE 2: UIImage *sendPicture = self.postImageView.image;

然后接受我的UIImage。

这里有什么问题?这是错误消息:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xa06c970 {com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=0xa076840 {NSErrorFailingURLStringKey=https://graph.facebook.com/me/photos?sdk=ios&access_token=BAAFZAZBNVZCfS0BACpZBJgjDz6kXZCt7t3pjiTz7rLVZAZCOXytAyReqvcuNjwJ4ntLHBrAtYodFcsoRFZBWZB5ZAzZA4w1HPLGdv1DtAevuur7yQCZC6N8gnc6U7WruoBLsN158nzTKvXa6MAZDZD&migration_bundle=fbsdk0X1.68E7002A9AC18P-98220130120&format=json, NSErrorFailingURLKey=https://graph.facebook.com/me/photos?sdk=ios&access_token=BAAFZAZBNVZCfS0BACpZBJgjDz6kXZCt7t3pjiTz7rLVZAZCOXytAyReqvcuNjwJ4ntLHBrAtYodFcsoRFZBWZB5ZAzZA4w1HPLGdv1DtAevuur7yQCZC6N8gnc6U7WruoBLsN158nzTKvXa6MAZDZD&migration_bundle=fbsdk0X1.3C8500A0449BP-85920130120&format=json, NSLocalizedDescription=The request timed out., NSUnderlyingError=0xb82a090 "The request timed out."}, com.facebook.sdk:HTTPStatusCode=200, com.facebook.sdk:ErrorSessionKey=<FBSession: 0xb85c5b0, state: FBSessionStateOpen, loginHandler: 0xb85b4b0, appID: 380400245374253, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xb854bf0>, expirationDate: 2013-05-31 20:51:54 +0000, refreshDate: 2013-04-02 10:06:39 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(
"publish_stream")>}

谢谢!

2 个答案:

答案 0 :(得分:2)

最后,结果是问题,是我的UIImage太大了。我把它缩小了,然后Facebook接受了我的帖子。

答案 1 :(得分:0)

使用imageNamed-method创建UIImage时,会创建一个自动释放的实例。

相反,请尝试自己初始化对象。

UIImage *sendPicture = [[UIImage alloc] initWithImageNamed:@"f_logo.png"];

我自己在使用自动释放的对象时遇到了问题。