2014-07-15 5 views
5

कोई त्रुटि नहीं लॉग इन मैं अपने आईओएस गेम ट्यूटोरियल से कोड का उपयोग कर फेसबुक पर साझा करने की कोशिश कर रहा हूं। संवाद पॉप अप हो गया है और मैंने निर्दिष्ट छवि और पाठ मौजूद है, लेकिन जब मैं लोडिंग बार दिखाई देता हूं तो "भेजें" दबाता है, लोड नहीं होता है, तो मुझे अपने ऐप पर रीडायरेक्ट किया जाता है। कंसोल में कोई त्रुटि मुद्रित नहीं होती है और ऐप क्रैश नहीं होता है।फेसबुक पर पोस्ट करने के लिए आईओएस विफलता,

जब मैं फेसबुक पर जाना है, तो संदेश पोस्ट किया गया है, मैं जाँच करने के लिए निम्नलिखित:।।

"ओह, कुछ गलत हो गया अपनी स्थिति पोस्टिंग में कोई समस्या थी हम त्रुटि प्रवेश करने के बाद और लगेगा इसे में।"

मैंने पिछले कोड में इस कोड का उपयोग किया है और यह पूरी तरह से ठीक काम करता है। मैंने प्लेलिस्ट में फेसबुक आईडी, फेसबुक डिस्प्ले नाम और यूआरएल योजना अपडेट की है।

FacebookHandler वर्ग (फेसबुक ट्यूटोरियल से ली गई)

#import "FacebookHandler.h" 

@implementation FacebookHandler 

+ (void) Facebook_CreateNewSession 
{ 
    // initialize Facebook 
    FBSession* session = [[FBSession alloc] init]; 
    [FBSession setActiveSession: session]; 
} 

+ (void) Facebook_Login 
{ 
    NSArray *permissions = [[NSArray alloc] initWithObjects: 
         @"email", 
         nil]; 

// Attempt to open the session. If the session is not open, show the user the Facebook login UX 
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:true completionHandler:^(FBSession *session, FBSessionState status, NSError *error) 
{ 
    // Did something go wrong during login? I.e. did the user cancel? 
    if (status == FBSessionStateClosedLoginFailed || status == FBSessionStateCreatedOpening) { 

     // If so, just send them round the loop again 
     [[FBSession activeSession] closeAndClearTokenInformation]; 
     [FBSession setActiveSession:nil]; 
     [self Facebook_CreateNewSession]; 
    } 
    else 
    { 
    }     
}]; 
} 

+ (void) Facebook_PostToNewsFeedWithTitle:(NSString*)title withCaption:(NSString*)caption withDescription:(NSString*)description withLink:(NSString*)link withPictureURL:(NSString*)picURL 
{ 

// check if user is logged in 
if ([FBSession activeSession] == nil) 
{ 
    [FacebookHandler Facebook_CreateNewSession]; 
    [FacebookHandler Facebook_Login]; 
} 


// This function will invoke the Feed Dialog to post to a user's Timeline and News Feed 
// It will attemnt to use the Facebook Native Share dialog 
// If that's not supported we'll fall back to the web based dialog. 

NSString *linkURL = link; 
NSString *pictureURL = picURL; 

// Prepare the native share dialog parameters 
FBShareDialogParams *shareParams = [[FBShareDialogParams alloc] init]; 
shareParams.link = [NSURL URLWithString:linkURL]; 
shareParams.name = title; 
shareParams.caption= caption; 
shareParams.picture= [NSURL URLWithString:pictureURL]; 
shareParams.description = description; 

if ([FBDialogs canPresentShareDialogWithParams:shareParams]){ 

    [FBDialogs presentShareDialogWithParams:shareParams 
           clientState:nil 
            handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
             if(error) { 
              NSLog(@"Error publishing story."); 
             } else if (results[@"completionGesture"] && [results[@"completionGesture"] isEqualToString:@"cancel"]) { 
              NSLog(@"User canceled story publishing."); 
             } else { 
              NSLog(@"Story published."); 
             } 
            }]; 

}else { 

    // Prepare the web dialog parameters 
    NSDictionary *params = @{ 
          @"name" : shareParams.name, 
          @"caption" : shareParams.caption, 
          @"description" : shareParams.description, 
          @"picture" : pictureURL, 
          @"link" : linkURL 
          }; 

    // Invoke the dialog 
    [FBWebDialogs presentFeedDialogModallyWithSession:nil 
              parameters:params 
               handler: 
    ^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
     if (error) { 
      NSLog(@"Error publishing story."); 
     } else { 
      if (result == FBWebDialogResultDialogNotCompleted) { 
       NSLog(@"User canceled story publishing."); 
      } else { 
       NSLog(@"Story published."); 
      } 
     }}]; 
} 
} 
@end 

मेरे कॉल

[FacebookHandler Facebook_PostToNewsFeedWithTitle:title withCaption:caption withDescription:description withLink:link withPictureURL:picURL]; 

अद्यतन

:

यहाँ कोड है

ऐसा लगता है कि यह फेसबुक ऐप के साथ एक समस्या है। फेसबुक के साथ एक डिवाइस पर इसे अनइंस्टॉल करने पर कोशिश करते समय, मुझे लॉग इन करने के लिए कहा जाता है और फिर यह सफलतापूर्वक पोस्ट करता है। हालांकि, अगर फेसबुक स्थापित है, तो यह पोस्ट नहीं करता है।

+0

मुझे इस समस्या का भी सामना करना पड़ रहा है जबकि यह सिम्युलेटर में ठीक काम करता है। –

+0

अभी तक कोई समाधान? मुझे भी यही समस्या है। –

उत्तर

0

मैं इसे मैन्युअल रूप से प्लस फ़ाइल पर "URL प्रकार" कुंजी टाइप करके ठीक करता हूं। कॉपी पेस्ट किसी अन्य प्लिस्ट फ़ाइल से प्लेस्ट मानों को कॉपी करें - यह ऐप्पल की बग है !!!

संबंधित मुद्दे