2013-04-01 4 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

Когда вы создаете UIImage с помощью метода imageNamed, он создает экземпляр с автореализацией.

Вместо этого попробуйте инициализировать объект самостоятельно.

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

У меня были проблемы с использованием автореализованных объектов.

+0

Спасибо, но ваш пример относится к случаю 1, и там я уже получил его работу. Любые другие предложения, Jensen2k? –

+0

'autorelease' не приводит к тому, что объекты будут выпущены раньше времени, по крайней мере, в этом случае. –

Смежные вопросы