2017-07-25 70 views
1

我使用以下代碼經由WhatsApp的重複WhatsApp的圖標在UIDocumentInteractionController

共享圖像
-(void)shareImageUsingDocumentController:(UIImage *)image fileName:(NSString *)fileName UTI:(NSString *)UTI completion:(void (^)(SharingResult sharingResult))completion 
{ 
    if (completion) 
    { 
     self.shareCompleted = completion; 
    } 

    self.documentInteractionController = nil; 
    self.documentInteractionController = [[UIDocumentInteractionController alloc] init]; 
    NSURL *localUrl = [self writeLocalFileFromUIImage:image fileName:fileName]; 
    if (localUrl != nil) { 
     self.documentInteractionController.URL = localUrl; 
     self.documentInteractionController.UTI = UTI; 
     self.documentInteractionController.delegate = self; 

     [self presentDocumentIneractionController]; 
    } 
} 

-(UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self.presentingViewController; 
} 

這是從BDSshare library和我使用它從一個夫特應用程序。我用這段代碼調用函數。

img: UIImage = self.loadImage() 
BDGShare.shared().shareImage(usingDocumentController: img, fileName: "whatsAppTmp.wai", uti: "net.whatsapp.image") {(SharingResult) -> Void in 
    // Handle share result... 
    self.handleShareResult(shareTarget.type, shareResult: SharingResult) 
} 

我遇到的問題是,我看到控制器中WhatsApp的兩個圖標。 enter image description here

任何人都可以看到爲什麼會有兩個WhatsApp圖標在這裏?我一直在搜索,我找不到任何與我不同的帖子。我找不到任何人提到有多個WhatsApp圖標的問題。 如果我使用第一個圖標(標記爲「WhatsApp」),那麼它實際上不起作用。我選擇一個聯繫人並點擊發送,然後我得到一個屏幕文件名。使用第二個按鈕(標記爲「複製到WhatsApp」),我選擇一個聯繫人,然後在黑色屏幕上看到帶有標題文本輸入的圖像。

我寧願跳過選擇並直行到WhatsApp的,但我會滿足於只有一個按鈕(自然的作品之一;))

TIA邁克

回答

0

原來,我忘了關於WhatsApp是默認支持的服務之一。因此,我所看到的是默認項目,以及通過使用針對WhatsApp的UTI調用UIDocumentInteractionController添加的項目。所以我從同一個BDGShare庫切換到shareImageUsingActivityController,這很好。

邁克

0

我覺得這是有WhatsApp的一個問題,我有同樣的問題,但對我來說,你不能看到當你分享型.wai的圖像的圖像預覽,它顯示文字「whatsapp image exclusive」。我的解決辦法是這樣的組合:

UTI = @"net.whatsapp.image"; 

nameOfTemporalFile = @"WhatsAppimage.jpeg"; 

,而不是

nameOfTemporalFile = @"WhatsAppimage.wai"; 
相關問題