【问题标题】:Duplicate WhatsApp icon in UIDocumentInteractionControllerUIDocumentInteractionController 中的 WhatsApp 图标重复
【发布时间】:2017-08-29 12:37:09
【问题描述】:

我正在使用以下代码通过 WhatsApp 分享图片

-(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,我在 Swift 应用程序中使用它。我正在用这段代码调用函数。

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 的两个图标。

谁能明白为什么这里会有两个 WhatsApp 图标?我一直在搜索,我找不到任何与我不同的帖子。我也找不到任何人提到拥有多个 WhatsApp 图标的问题。 如果我使用第一个图标(标记为“WhatsApp”),那么它实际上不起作用。我选择一个联系人并点击发送,然后我会看到一个包含文件名的屏幕。使用第二个按钮(标记为“复制到 WhatsApp”),我选择了一个联系人,然后我在黑屏上看到了带有文本条目的图像作为标题。

我宁愿跳过选择器直接进入 WhatsApp,但我只满足于一个按钮(自然是那个有效的按钮;))

TIA 迈克

【问题讨论】:

    标签: ios whatsapp uidocumentinteraction


    【解决方案1】:

    原来我忘记了 WhatsApp 是默认支持的服务之一。所以我看到的是默认项目,以及我通过使用 WhatsApp 的 UTI 调用 UIDocumentInteractionController 添加的项目。所以我从同一个 BDGShare 库切换到 shareImageUsingActivityController,一切都很好。

    迈克

    【讨论】:

      【解决方案2】:

      我认为 Whatsapp 有问题,我遇到了同样的问题,但在我的情况下,当您分享 .wai 类型的图像时,您看不到图像预览,它显示了一个文字“whatsapp 图片独家”。我的解决方案是这样的组合:

      UTI = @"net.whatsapp.image";
      
      nameOfTemporalFile = @"WhatsAppimage.jpeg"; 
      

      而不是

      nameOfTemporalFile = @"WhatsAppimage.wai";
      

      【讨论】:

        猜你喜欢
        • 2012-12-21
        • 2014-01-20
        • 1970-01-01
        • 2014-06-15
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多