我已经GOOGLE了,并得到一些解决方案,似乎唯一可能的方式是通过UIDocumentInteractionController
。我找到了能够分享的结果文字只,还发现分享的结果图片只。iOS分享图片和文字到WhatsApp
但我想要的是share BOTH。
我知道这个问题可能是重复的,我只想说清楚,这里是截图...
(这是从Android的共享)
我已经GOOGLE了,并得到一些解决方案,似乎唯一可能的方式是通过UIDocumentInteractionController
。我找到了能够分享的结果文字只,还发现分享的结果图片只。iOS分享图片和文字到WhatsApp
但我想要的是share BOTH。
我知道这个问题可能是重复的,我只想说清楚,这里是截图...
(这是从Android的共享)
你可以使用UIDocumentInteractionController来达到这个目的:
@property (retain) UIDocumentInteractionController * documentInteractionController;
if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"whatsapp://app"]]){
UIImage * iconImage = [UIImage imageNamed:@"YOUR IMAGE"];
NSString * savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/whatsAppTmp.wai"];
[UIImageJPEGRepresentation(iconImage, 1.0) writeToFile:savePath atomically:YES];
_documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:savePath]];
_documentInteractionController.UTI = @"net.whatsapp.image";
_documentInteractionController.delegate = self;
[_documentInteractionController presentOpenInMenuFromRect:CGRectMake(0, 0, 0, 0) inView:self.view animated: YES];
} else {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"WhatsApp not installed." message:@"Your device has no WhatsApp installed." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
检查此答案f或参考:https://stackoverflow.com/a/20601051/2082569
此外,你可以看看Socialize SDK也很容易使用,并与各种社交SDKs集成。检查这些文件,以WhatsApp的共享:http://socialize.github.io/socialize-sdk-ios/whatsapp.html
我没有看到设置消息的属性。上面的代码我已经测试过很多次了,只能分享图片。我的问题是**如何分享在一个单一的共享** –
请检查以下项目在GitHub上
https://github.com/salesawagner/SharingWhatsApp
typedef enum{
kSendText = 0,
kSendImage,
kSendTextWithImage,
kSendAudio,
kSendCancel
} options;
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
switch (buttonIndex) {
case kSendText:
[[WASWhatsAppUtil getInstance] sendText:@"Text"];
break;
case kSendImage:
[[WASWhatsAppUtil getInstance] sendImage:[UIImage imageNamed:@"image.jpg"] inView:self.view];
break;
case kSendTextWithImage:
NSLog(@"Send text with image");
case kSendAudio:
[[WASWhatsAppUtil getInstance] sendAudioinView:self.view];
break;
default:
NSLog(@"Cancel send");
break;
}
}
你有没有尝试使用上述代码? –
提高您的描述 –
好一个,
当我知道这是不可能的IOS。 但我有一个替代解决方案,您可以通过它共享文本和图像两者。但这是一个棘手或我认为愚蠢的解决方案。
这只是一个可能的解决方案,如果你想要文本和图像两者。但如果你想与文本共享链接比。 。 。 。 。 。 。
考虑到字体风格可能的区别,屏幕分辨率,字体大小,这不会按预期工作 – Kuba
试试用所有可能的决议。你会发现一个很好的结果 –
您可以使用UIActivityViewController共享图像,文本或网址。这里是一个小例子:
NSString *textToShare = @"Enter your text to be shared";
UIImage * image = [UIImage imageNamed:@"imagename"];
NSArray *objectsToShare = @[textToShare, image];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
运行上面的代码,选择什么应用程序共享,如果你愿意,你可以通过其他媒介也分享。这是苹果' 的默认分享方法
通常不提及的东西用户实际上并不需要共享文本消息和图像。
如果您的文本包含URL则WhatsApp的应用程序将尝试检索有关URL信息,并显示预览
为了这个工作,你需要做的URL符合Open Graph的协议。这基本上意味着该网址需要在其DOM中包含相关预览数据的元标记
但是,为此,用户将不得不将图像集成到网站的元标签中。用这种方法,用户将只能得到网站的图像,而不是这种情况下的实际产品。 –
您是否找到针对此问题的解决方案? –
@ VishnuKumar.S不,我没有找到解决方案 –
我也在为这个问题找到解决方案。 –