2013-10-02 14 views
9

enter image description hereUIDocumentInteractionController Ngăn chặn thả dù trong 'Open in' tấm

Trong ứng dụng của tôi, tôi cho phép người dùng chia sẻ hình ảnh qua Instagram, đòi hỏi việc sử dụng các UIDocumentInteractionController. Airdrop được tự động phát hiện nếu điện thoại hỗ trợ nó. Làm cách nào để xóa nó khỏi trang hoạt động 'Mở trong' này?

Thậm chí nếu tôi bắt đầu quá trình chia sẻ với UIActivityViewController và gọi setExcludedActivityTypes :, cuối cùng tôi phải sử dụng UIDocumentInteractionController, và khi tôi làm, Airdrop xuất hiện trở lại. Đây là mã khi nút chia sẻ được nhấn vào:

NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"]; 

if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) { 
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; 
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"Image.igo"]; 

    NSData *imageData = UIImagePNGRepresentation(imageToShare); 
    [imageData writeToFile:savedImagePath atomically:YES]; 
    NSURL *imageUrl = [NSURL fileURLWithPath:savedImagePath]; 
    docController = [[UIDocumentInteractionController alloc] init]; 
    docController.UTI = @"com.instagram.exclusivegram"; 
    docController.URL = imageUrl; 
    [docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]; 

} 
else 
{ 
    NSLog(@"no insta"); 
} 
+0

Có cùng sự cố. – n13

Trả lời

2

Theo như tôi có thể cho bạn biết thì không thể. Tôi cũng cần tắt tùy chọn này. Nhưng trên UIDocumentInteractionController nó hoàn toàn không thể truy cập được. Trải nghiệm API khá tệ trong sách của tôi.

Nếu người sử dụng chọn một ứng dụng trong danh sách ứng dụng của bạn nhận được callbacks

-(void)documentInteractionController:(UIDocumentInteractionController *)controller willBeginSendingToApplication:(NSString *)application 

-(void)documentInteractionController: (UIDocumentInteractionController *)controller didEndSendingToApplication:(NSString *)application 

Nếu người sử dụng chọn thả dù bạn không nhận được thông báo gì cả.

+0

Một điều tôi nhận thấy là việc khai thác AirDrop thường không ngay cả khi bản thân tôi và ai đó trong phòng bật lên. – EHNole

0

Điều này không thể xóa được và táo vẫn đang cố gắng làm cho không khí có thể truy cập được ở khắp mọi nơi, vì vậy chúng tôi có thể phải thấy rằng ở một vài nơi khác trong tương lai. Từ bản cập nhật 7.1, nó sẽ chắc chắn đến trong UIDocumentInteractionController bất kể trạng thái airdrop (bật hoặc tắt trên thiết bị)

Và một điều xấu nữa là không có gọi lại để chia sẻ không khí, có nghĩa là ứng dụng của bạn không bao giờ biết về trạng thái chia sẻ . 2 đại biểu dưới đây sẽ không làm việc để chia sẻ.

-(void)documentInteractionController:(UIDocumentInteractionController *)controller willBeginSendingToApplication:(NSString *)application 

-(void)documentInteractionController: (UIDocumentInteractionController *)controller didEndSendingToApplication:(NSString *)application 

Tôi hy vọng táo sẽ hiển thị một số phương pháp đại biểu để thực hiện điều này trong các phiên bản sau.

Các vấn đề liên quan