我正在使用以下代码通过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 Mike
答案 0 :(得分:0)
事实证明,我忘了WhatsApp是默认支持的服务之一。所以我看到的是默认项目和我通过使用UTI for WhatsApp调用UIDocumentInteractionController
添加的项目。所以我从同一个BDGShare lib切换到shareImageUsingActivityController
,这一切都很好。
麦克
答案 1 :(得分:0)
我认为 Whatsapp 存在问题,我遇到了同样的问题,但在我的情况下,当您共享.wai类型的图像时,您无法看到图像预览显示文字" whatsapp图片独占"。我的解决方案就是这个组合:
UTI = @"net.whatsapp.image";
nameOfTemporalFile = @"WhatsAppimage.jpeg";
而不是
nameOfTemporalFile = @"WhatsAppimage.wai";