2014-11-11 13 views
6

Ứng dụng của tôi có bộ điều khiển tương tác tài liệu được sử dụng để mở tài liệu trong các ứng dụng khác. Đoạn mã sau hiển thị nút mở menu 'Mở trong' và cho phép người dùng mở tệp trong các ứng dụng khác - tức là Gửi tệp qua thư nếu người dùng chọn ứng dụng thư trong menu 'Mở trong', ứng dụng thư tạo một email mới và tự động đính kèm tệp vào nội dung thư.UIDocumentInteractionController presentOpenInMenuFromBarButtonItem ngừng hoạt động tốt trên iOS8.1

Mã sau hoạt động tốt trong iOS7 nhưng đã ngừng hoạt động tốt trên iOS8 +. Các tệp không được đính kèm với thư và tôi nhận được thông báo nhật ký lỗi.

Tuyên bố cho UIDocumentInteractionController:

@property (nonatomic, strong) UIDocumentInteractionController* interactionController; 

khởi:

self.interactionController = [UIDocumentInteractionController interactionControllerWithURL:self.url]; 
self.interactionController.delegate = self; 
self.interactionController.name = self.file.name; 

Cuộc gọi cho 'Open in' menu:

[self.interactionController presentOpenInMenuFromBarButtonItem:self.openInBarButtonItem animated:YES]; 

Ví dụ về thông báo lỗi nhận được sau khi mở một file excel:

Unknown activity items supplied: ( { "com.microsoft.excel.xls" = <504b0304 ....000000>; }, "")

viewServiceDidTerminateWithError: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo=0x… {Message=Service Connection Interrupted} (lldb).

tôi sẽ đánh giá cao bất kỳ ý tưởng để khắc phục vấn đề này.

Cảm ơn, Ori

+0

sử dụng một mô phỏng? có thể là một vấn đề tương tự ... http://stackoverflow.com/questions/25801366/while-mail-sending-process-using-ios-8-simulators-generates-error và http://stackoverflow.com/questions/ 25604552/i-have-real-understandstanding-with-mfmailcomposeviewcontroller-in-swift-ios8-in – websky

Trả lời

0

Đây là Mã của tôi

 BOOL IOS8=SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0"); 
     if (IOS8){ 
     if ([interactionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]) { 
      NSLog(@"menu is presented"); 
     } 
Các vấn đề liên quan