2012-09-27 7 views
11

iOS5 용으로 제작 된 iMax 용 애플리케이션이 iOS5 용으로 제작되었으며 iOS6에서는 더 이상 작동하지 않습니다. canOpenURL이 true를 반환하고 코드가 실행됩니다. 이미지는 응용 프로그램의 문서 폴더에 .igo 확장자로 저장됩니다. 이것은 com.instagram.exclusivegram으로 Instagram에 전달됩니다.UIDocumentInteractionController가 iOS6에서 더 이상 작동하지 않습니다

아래 코드는 if 문을 입력하고 "here in"을 표시하지만 화면 맨 아래에서와 같이 공유 대화 상자를 열지 않습니다.

 NSLog(@"%@", _imgToUpload); 
     NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"]; 
     if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) { 
      uidController = [[UIDocumentInteractionController alloc] init]; 
      //imageToUpload is a file path with .igo file extension 
      uidController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:_imgToUpload]]; 
      uidController.UTI = @"com.instagram.exclusivegram"; 
      uidController.delegate = self; 
      CGRect navRect = self.view.frame; 
      [uidController presentOpenInMenuFromRect:navRect inView:[UIApplication sharedApplication].keyWindow animated:YES]; 
      NSLog(@"here in"); 
     } 

_imgToUpload도 올바른 파일 경로를 제공합니다.

은 그냥 몇 가지 테스트를하고 해결책을 발견 닉

답변

11

, 감사합니다. keyWindow에 표시하지 마십시오.

[uidController presentOpenInMenuFromRect:navRect inView:self.view animated:YES]; 

나는 이것을 테스트하여 문제를 해결할 것입니다.

+0

감사합니다. 나는 이것을 알아 냈으므로 게시하는 것을 잊었습니다! 좋은 발견 –

+0

감사합니다. 그러나 "Open In"액션 시트가 없어도 Instagram에 직접 갈 수있는 방법이 있습니까? – GeneCode

0

uidocumentinteraction 컨트롤러가 iOS6에서 작동하지 않는 또 다른 이유는 새로운 작업 시트/실행 패널 (이제 문서를 열 수있는 앱을 보여줍니다)이 사용되었다는 것입니다. 내가 너무 일찍 viewDidLoad에서 시작하고 현재보기 컨트롤러 '에 대한보기가 창 계층 구조가 아니므로'오류가 발생하여 iOS5를 사용하여 iBooks를 실행하는 데 실패한 응용 프로그램이 실패했습니다. 지연 후 performselector로 코드를 변경했습니다. 1 초. 이제 앱이 새 패널을 통해 iBooks에 전화합니다.

관련 문제