0

SLComposeViewController를 사용하여 Facebook 북에 기사를 게시하고 있습니다. 기기 설정에서 Facebook의 앱 권한을 사용 중지하면 SLComposeViewController가 여전히 Facebook 게시자의 기사를 게시하여 작동합니다. SDK 문제입니다. ?앱 권한이 비활성화 된 경우 SLComposeViewController와 관련된 문제

SLComposeViewController *facebookViewController=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 
    { 
     SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result) 
     { 

      [facebookViewController dismissViewControllerAnimated:YES completion:nil]; 

      switch(result){ 
       case SLComposeViewControllerResultCancelled: 
       default: 
       { 
        [[[UIAlertView alloc] initWithTitle:@"Facebook" 
               message:@"Action Cancelled" 
               delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil] 
        show]; 

        [self dismissView]; 

       } 
        break; 
       case SLComposeViewControllerResultDone: 
       { 
        [[[UIAlertView alloc] initWithTitle:@"Facebook" 
               message:@"Posted to Facebook successfully" 
               delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil] 
        show]; 

        [self dismissView]; 

       } 
        break; 
      }}; 

     [facebookViewController addImage:_shareImage]; 
     [facebookViewController setInitialText:_shareTitle]; 
     [facebookViewController addURL:_shareLink]; 
     [facebookViewController setCompletionHandler:completionHandler]; 

     [self.dashboard presentViewController:facebookViewController animated:YES completion:nil]; 

     } 
+0

코드 ... 난 당신이 SLComposeViewController를 사용할 때 모든 권한 것은 아이폰 OS에 의해 관리되는 –

+0

도움이 될 것입니다; 기술적으로 iOS 게시이며 앱이 아닙니다. 사용자의 타임 라인에 표시되는 소식에는 'iOS를 통해'라고 표시되는 것 같습니다. 맞습니까? – padma4success

+0

확신 코드를 ... 추가 한 0x7fffffff @ –

답변

1

나는 직접 답변을 찾았습니다. 아래의 코드

을 확인
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) 
    { 
     ACAccountStore *accountStore=[[ACAccountStore alloc]init]; 
     ACAccountType * facebookAccountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; 

     // At first, we only ask for the basic read permission 
     NSArray * permissions = @[@"publish_stream"]; 

     NSDictionary * dict = @{ACFacebookAppIdKey : @"facebook_appid", ACFacebookPermissionsKey : permissions, ACFacebookAudienceKey : ACFacebookAudienceEveryone}; 

     [accountStore requestAccessToAccountsWithType:facebookAccountType options:dict completion:^(BOOL granted, NSError *error) { 
      if (granted && error == nil) 
      { 

     SLComposeViewController *facebookViewController=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 
      SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result) 
      { 

       [facebookViewController dismissViewControllerAnimated:YES completion:nil]; 

       switch(result){ 
        case SLComposeViewControllerResultCancelled: 
        default: 
        { 
         [self dismissView]; 

        } 
         break; 
        case SLComposeViewControllerResultDone: 
        { 
         [[[UIAlertView alloc] initWithTitle:@"Facebook" 
                message:@"Posted to Facebook successfully" 
                delegate:nil 
              cancelButtonTitle:@"OK" 
              otherButtonTitles:nil] 
         show]; 

         [self dismissView]; 

        } 
         break; 
       }}; 

      [facebookViewController addImage:_shareImage]; 
      [facebookViewController setInitialText:_shareTitle]; 
      [facebookViewController addURL:_shareLink]; 
      [facebookViewController setCompletionHandler:completionHandler]; 

      [self.dashboard presentViewController:facebookViewController animated:YES completion:nil]; 
      } 
       else 
       { 
        dispatch_async(dispatch_get_main_queue(), ^{ 
         [self dismissView]; 
         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message: @"App Permissions disabled in facebook settings." 
                     delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
         [alert show]; 


        }); 
       } 
      }];