2013-04-01 111 views
0

如果我使用Facebook的方法:为什么Facebook不接受我的UIImage?

[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")>} 

谢谢!

+1

澄清“不总是接受”是什么意思?什么是错误? –

+0

我澄清了这个问题 - 谢谢。 –

+0

这是一个盲目的猜测,但尝试'UIImage * sendPicture = [self.postImageView.image copy];' –

回答

2

最后,原来是这个问题,是我的UIImage太大了。我把它缩小了,然后Facebook接受了我的帖子。

+0

然后随时接受你自己的答案 –

0

当您使用imageNamed-method创建UIImage时,它将创建一个自动释放实例。

而是尝试自己初始化对象。

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

我自己有使用自动释放对象的问题。

+0

谢谢,但你的例子引用案例1,那里我已经得到它的工作。任何其他建议,Jensen2k? –

+0

'autorelease'不会导致对象被提前释放,至少在这种情况下不会。 –

相关问题