如果我使用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")>}
谢谢!
答案 0 :(得分:2)
最后,结果是问题,是我的UIImage
太大了。我把它缩小了,然后Facebook接受了我的帖子。
答案 1 :(得分:0)
使用imageNamed-method创建UIImage时,会创建一个自动释放的实例。
相反,请尝试自己初始化对象。
UIImage *sendPicture = [[UIImage alloc] initWithImageNamed:@"f_logo.png"];
我自己在使用自动释放的对象时遇到了问题。