自定义 URL 方案

添加下面参数来开启whatsapp://,将可开启whatsapp的应用程序,并进行自定义的操作。

URL 参数 开启
app - WhatsApp Messenger 应用程序
send 输入新的对话
文本 如有文本内容存在,将会预先填入对话屏幕的消息文本输入字段。

在 Objective-C 开启下列 URL 的呼叫命令:

text = [text stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *charactersToEscape = @"?!@#$^&%*+,:;='\"`<>()[]{}/\\| ";
NSCharacterSet *allowedCharacters = [[NSCharacterSet characterSetWithCharactersInString:charactersToEscape] invertedSet];
text = [text stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];
url = [NSString stringWithFormat:@"whatsapp://send?text=%@", text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url] options:@{} completionHandler:nil];

在应用程序的Info.plist 文件中 LSApplicationQueriesSchemes 项下加入whatsapp。

注意:

iOS 15限制了配置的URL Scheme不可以超过50个。

共享扩展

共享扩展功能随 iOS 8.0 推出,方便用户 iPhone 手机中安装的任何应用程序与其它应用程序共享内容。这是目前将用户内容与 WhatsApp 共享的首选方式。如要使用共享扩展功能,请创建 UIActivityViewController 的实例,在应用中呈现。WhatsApp 接受下列类型的内容:

  • 文本(UTI:public.plain-text)
  • 照片(UTI: public.image)
  • 视频(UTI: public.movie)
  • 音频备忘录与音乐文件(UTI: public.audio)
  • PDF 文档(UTI: com.adobe.pdf)
  • 联系人名片(UTI: public.vcar)
  • 网页 URL(UTI: public.url)
UIImage *image = [UIImage imageWithContentsOfFile:localpath];
NSString *savePath  = [kCachesPath stringByAppendingPathComponent:@"whatsAppTmp.wai"];
[UIImageJPEGRepresentation(image, 0.8) writeToFile:savePath atomically:YES];NSArray *activityItems = @[[NSURL fileURLWithPath:savePath]];
UIActivityViewController *ctrl = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
ctrl.excludedActivityTypes = @[UIActivityTypePostToWeibo,UIActivityTypePrint,UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll,UIActivityTypeAddToReadingList,UIActivityTypePostToFlickr,UIActivityTypePostToVimeo,UIActivityTypePostToTencentWeibo,UIActivityTypeAirDrop];[viewController presentViewController:ctrl animated:YES completion:nil];

文档交互

如过希望经 WhatsApp 共享照片、视频、或音频备忘录这些媒体文件,可使用文档交互 Document Interaction API 来发送媒体文件到 WhatsApp 联系人与群组。

WhatsApp Messenger 可处理下列各种媒体文件:

  • 任何符合 public.image 类型格式的图像文件格式(例如 PNG 或 JPEG)
  • 任何符合 public.movie 类型的视频文件格式(例如 MPEG-4 视频)
  • 音频文件(只接受 MPEG-3、MPEG-4、AIFF、AIFF-C、与 Core Audio 格式)

如只想在应用列表中显示 WhatsApp,而不是将 WhatsApp 与其它符合 public/* 要求条件的应用程序一起呈现,可将上面这些格式的文件与 WhatsApp 不处理的文件扩展名相连后存储:

  • 图像 - «.wai»,这是 net.whatsapp.image 的文件类型
  • 视频 - «.wam»,这是 net.whatsapp.movie 的文件类型
  • 音频文件 - «.waa»,这是 net.whatsapp.audio 的文件类型

iOS分享到WhatsApp相关推荐

  1. untiy接入微信SDK实现iOS分享

    untiy接入微信SDK实现iOS分享功能 说明: 使用平台:mac电脑 Unity处理 进入微信开发者官网申请应用 2.下载微信的开发工具包sdk导入untiy的 Assest/Plugins/iO ...

  2. 微信公众号页面ios分享自定义链接失效,安卓无问题

    !!! 问题:调用wxsdk后 设置的自定义分享链接 安卓没有问题 可以分享指定页面, 标题图片都有,但是ios上面有问题  什么都没有,也没有链接 如右图   上面是ios 分享的  下面是安卓分享 ...

  3. vue微信分享中相关问题(安卓分享成功,IOS分享失效)

    问题一:图片路径正确的情况下,缩略图不显示. 解决:将图片尺寸改为200*200. 问题二:安卓分享成功,IOS分享失效,IOS分享始终分享的是首页. 解决: IOS:每次切换路由,url是不会变的, ...

  4. IOS分享扩展使用JS脚本

    2019独角兽企业重金招聘Python工程师标准>>> 实现一个分享扩展插件,功能是从Safari网页中截取当前网页的图片内容 基本的步骤总结在下面: 1.创建一个JS文件,命名为M ...

  5. [iOS]分享文件到QQ好友或微信好友

    APP中需要将文件分享给QQ和微信好友,常用下面这两种方式. 1.使用系统的UIActivityViewController类发送 2.使用QQ和微信的API分享 UIActivityViewCont ...

  6. iOS 分享功能开发

    iOS 开发过程中可能会遇到需要进行第三方分享的需求,比如向QQ,微信,微博等分享 如下图 我们今天要讲到的方式是使用了一个第三方工具: http://www.sharesdk.cn 一,注册账号 去 ...

  7. IOS 分享相册里面的视频文件

    查了很多资料才知道目前的IOS版本不支持相册里面视频文件的分享,需要将视频文件转存到沙盒里面, 通过沙盒的url进行分享,以下分享转换的代码,留存处理. 将PHAsset格式的文件转存到沙盒里面,并返 ...

  8. 由于应用universal link 校验不通过(ios分享)

    app苹果分享的时候校验不通过 解决方法:登录微信开放平台 点击自己的应用 下拉查看应用平台这里没有ios的,就要新增ios的 在上拉基本信息那里去点击修改进去新的页面不用管, 下拉点击保存,下一步 ...

  9. ios 分享功能 集成友盟分享

    1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网  友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...

  10. iOS分享(微信、qq、微博)

    本文会介绍iOS常用的第三方分享(本文是分享带标题及藐视的h5地址),包括微信.QQ.微博,文章前部分会介绍每个平台的API集成及使用方法,文章后部分会介绍对三方分享(或者登陆)集成一起的三方框架Sh ...

最新文章

  1. 【转】【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途...
  2. python在城市规划中的运用_城市设计在城市规划管理中的运用
  3. CGLib动态代理原理及实现
  4. jmeter web监听结果_Jmeter性能测试
  5. express框架+fetch/axios.js(本机实现跨域请求)
  6. C语言的getopt
  7. 项目方说性能达到百万TPS,如何测试它的可信度?
  8. Scheme调试手册(四)
  9. MySQL UTF8与UTF8MB4
  10. 一筐鸡蛋筐拿鸡蛋的问题
  11. deepfake 资源总结
  12. Linux中存放用户密码信息的文件,存放密码过期修改等信息
  13. 计算机exsl表f4代表锁定,Excel中F4技巧,相对引用、绝对引用和混合引用
  14. 3行代码 为你的网站博客添加萌萌哒可爱二次元女动漫玩偶人物(看板娘)
  15. java能做称重软件_java实现砝码称重
  16. 2015北京科技大学869计算机组成原理考试大纲,2014年北京科技大学869计算机组成原理考研真题...
  17. 多益2980邮箱集合专业游戏服务免费安全的电子邮箱
  18. CANoe——CAPL(Message)
  19. 用php完成下拉菜单,最新的8个实现下拉菜单功能的总结
  20. 计算机CPU国产替代,国产CPU终于投入民用!网友:国产系统呢?啥时候能用上国产电脑...

热门文章

  1. java生成xlsx文件
  2. hex、bin、elf、axf文件区别
  3. SonarQube 持续集成代码质量管理
  4. 次世代建模之人体比例及肌肉骨骼介绍
  5. 电脑自带的edge浏览器无法访问解决问题
  6. 在线html编辑器 菜鸟,菜鸟教程
  7. 将一个负数赋值给一个无符号数会出现什么情况呢
  8. 项目管理-----整合项目资源
  9. 【DeepLearning】深入理解dropout正则化
  10. word插入图片被文字挡住