2014-10-24 4 views
1

매우 이상한 (& 심각한) 문제가 있습니다.UIDocumentInteractionController - MailCompose가 iOS8에서 닫히지 않음

내 응용 프로그램은 UIDocumentInteractionController를 사용하여 PDF 문서를 공유합니다. 사용자가 컨트롤러의 팝업에서 "Mail"옵션을 선택하면 MailCompose 창이 열립니다. 그러나이 창에서 보내기 또는 취소 단추를 사용하면 MailCompose 창이 닫히지 않으므로 사용자가 걸려서 응용 프로그램을 종료해야합니다. 메일은 나간다.

다음은 catch입니다. 이것은 App Store를 통해 설치된 앱에서만 iOS8 (지금까지 출시 된 두 버전)에서만 발생합니다. USB 디버깅을 통해 내 기기에서 실행될 때 앱의 동일한 버전이 정상적으로 작동합니다. 또한 미리보기 기능을 사용하지 않는, 그들 중 비가 필요하기 때문에 내가 위임 방법을 구현하지 않는

-(void)sharePDF:(id)sender 
{ 
    @try 
    { 

     NSURL *fileURL = [NSURL fileURLWithPath:currentFileObject.LocalPath]; 

     if(fileURL) 
     { 
      //UIDocumentInteractionController 

      NSString *newPath; 
      @try 
      { 
       //Create a copy of the file for sharing with a friendly name 
       if (currentFileObject.isSpecialReport) 
       { 
        newPath = [svc saveReport:[NSData dataWithContentsOfURL:fileURL] ToFile:[NSString stringWithFormat:@"%@.pdf", currentFileObject.ReportName]]; 
       } 
       else 
       { 
        newPath = [svc saveReport:[NSData dataWithContentsOfURL:fileURL] ToFile:[NSString stringWithFormat:@"%@.pdf", currentFileObject.PatientFullName]]; 
       } 

      } 
      @catch (NSException *exception) { 
       return; 
      } 
      NSURL *newURL = [NSURL fileURLWithPath:newPath]; 
      self.docController = [UIDocumentInteractionController interactionControllerWithURL:newURL]; 
      self.docController.delegate = self; 
      if (currentFileObject.isSpecialReport) 
      { 
       self.docController.name = [NSString stringWithFormat:@"Pathology - %@", currentFileObject.ReportName]; 
      } 
      else 
      { 
       self.docController.name = [NSString stringWithFormat:@"Pathology - %@", currentFileObject.PatientFullName]; 
      } 


      [self.docController presentOptionsMenuFromBarButtonItem:btnShare animated:YES]; 
     } 
    } 
    @catch (NSException *exception) { 
     return; 
    } 

} 

:

는 여기에 몇 가지 코드입니다.

내게 가장 당황스러운 점은 코드가 동일하더라도 앱 스토어의 앱이 내 로컬 앱과 다르게 작동한다는 것입니다. 내 다음 단계는 새로운 베타 개발자 도구 (테스트 비행)를 사용하여 문제를 재현 할 수 있기를 바란다.

EDIT : 여기에 비슷한 질문이 있습니다 : Cannot dismiss email sheet invoked from UIDocumentInteractionController in iOS 8 나는이 게시물을 읽은 후 Xcode 5 (Xcode 6 이전의 마지막 버전)를 통해 AppStore에 앱을 제출했다고 언급 할 가치가 있다고 생각합니다. 이것이 정말로 중요한 요소 일 수 있습니까? 애플은 원래 애플 리케이션이 만들어진 버전과 같은 버전을 사용하지 않습니까?

답변

1

저는 이것이 iOS 8의 버그라고 생각합니다. 여전히 작동하지 않는다면 Apple이 해결할 가능성이 높지 않다고 생각합니다. 나는 Xcode 6으로 업그레이드하고 그것이 당신을 위해 고쳐 줄 수 있는지 살펴볼 것입니다. (당신이 발견 한대로 It did for us).

+0

감사합니다. 이 버전의 앱은 15 일 (거의 16 일) 동안 검토되었으므로 이제 사용자는 15 일 동안 이메일 기능을 사용할 수 없게됩니다. 한숨. –