2

UIDocumentInteractionControllerpresentOpenInMenuFromBarButtonItem을 통해 열기 메뉴를 표시하려고합니다. 화면에 UIDocumentInteractionController이 표시되지 않습니다. 이상한 점은 만약 ""을 "Options"으로 대체하면 예상대로 작동한다는 것입니다.presentOpenInMenuFromBarButtonItem : 메뉴가 나타나지 않습니다.

presentOpenInMenuFromBarButtonItem이 작동하지 않는 이유는 무엇입니까? 고맙습니다.

NSString *fileName = [NSString stringWithFormat:@"%@text.txt", NSTemporaryDirectory()]; 
    [self.textToShare writeToFile:fileName 
         atomically:NO 
         encoding:NSUTF8StringEncoding 
          error:nil]; 

    NSURL *textFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"text.txt"]]; 

    self.openInController = [UIDocumentInteractionController interactionControllerWithURL:textFileURL]; 
    self.openInController.delegate = self; 
    [self.openInController presentOpenInMenuFromBarButtonItem:self.buttonToPresentFrom animated:YES]; //replacing OpenIn with Options causes it to appear 

답변

3

문제는 presentOpenIn ...은 전송중인 파일을 열 수있는 앱이 설치된 경우에만 메뉴를 표시합니다. iOS 시뮬레이터에는 .txt 파일을 여는 앱이 없으므로 작동하지 않는 것 같습니다. 실제 장치에서 실행하면 정상적으로 작동합니다.

BOOL didPresentOpenIn = [self.openInController presentOpenInMenuFromBarButtonItem:self.buttonToPresentFrom animated:YES]; 
    if (!didPresentOpenIn) { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Apps Available" 
                 message:@"You do not have any apps installed that can open text files." 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [alert show]; 
    } 
:

는 더 나은 행동이를 추가하기로 결정
관련 문제