自定义 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. 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现...
  2. 代码检查规则:Java语言案例详解
  3. 阅读量PHP设计,zblogPHP如何修改文章阅读量
  4. 快速删除数据库中所有表中的数据
  5. [蓝桥杯2018决赛]换零钞-枚举
  6. TDMoverIP是什么?tdmoverip产品特性介绍
  7. 【Python学习】 - skimage包
  8. JEECG v3视频陆续更新
  9. ssis 执行任务的日志_SSIS和PowerShell –执行流程任务
  10. vue 组件需要注意的事项:
  11. boost::asio的C/S结构笔记
  12. 基于Python3-Pygame的乒乓球游戏
  13. override 和 new 关键字的总结
  14. 捷联惯导系统学习3.3(引力位函数)
  15. 发票识别OCR和发票扫描仪
  16. 深圳计师需要全国计算机证吗,深圳入户需要什么技师证
  17. 拉格朗日对偶性(Lagrange duality)
  18. 深入 Parcel架构与流程
  19. 机器学习算法——概率类模型评估指标4(校准可靠性曲线及预测概率直方图)
  20. 图文教程,Nginx+Keepalived(双机热备)介绍已经搭建高可用负载均衡环境

热门文章

  1. Git更新本地分支信息
  2. python中的属性是什么_什么是python类属性
  3. java中向上的尖括号是什么_T(尖括号)在Java中是什么意思?
  4. 转专业选择计算机的理由,转专业面试自我介绍范文
  5. X509TrustManager信任SSL证书
  6. 泛微云桥e-Bridge安装手册
  7. 【CCF会议期刊推荐】中国计算机协会(CCF)推荐国际学术期刊/会议(软件工程/系统软件/程序设计语言)
  8. vue结合elmentui实现前端分页
  9. 无线扫码枪 服务器查询异常,无线扫描枪常见问题及解决方法
  10. zh-cn语言(文化)代码与国家地区对照表