iOS分享到WhatsApp
自定义 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相关推荐
- untiy接入微信SDK实现iOS分享
untiy接入微信SDK实现iOS分享功能 说明: 使用平台:mac电脑 Unity处理 进入微信开发者官网申请应用 2.下载微信的开发工具包sdk导入untiy的 Assest/Plugins/iO ...
- 微信公众号页面ios分享自定义链接失效,安卓无问题
!!! 问题:调用wxsdk后 设置的自定义分享链接 安卓没有问题 可以分享指定页面, 标题图片都有,但是ios上面有问题 什么都没有,也没有链接 如右图 上面是ios 分享的 下面是安卓分享 ...
- vue微信分享中相关问题(安卓分享成功,IOS分享失效)
问题一:图片路径正确的情况下,缩略图不显示. 解决:将图片尺寸改为200*200. 问题二:安卓分享成功,IOS分享失效,IOS分享始终分享的是首页. 解决: IOS:每次切换路由,url是不会变的, ...
- IOS分享扩展使用JS脚本
2019独角兽企业重金招聘Python工程师标准>>> 实现一个分享扩展插件,功能是从Safari网页中截取当前网页的图片内容 基本的步骤总结在下面: 1.创建一个JS文件,命名为M ...
- [iOS]分享文件到QQ好友或微信好友
APP中需要将文件分享给QQ和微信好友,常用下面这两种方式. 1.使用系统的UIActivityViewController类发送 2.使用QQ和微信的API分享 UIActivityViewCont ...
- iOS 分享功能开发
iOS 开发过程中可能会遇到需要进行第三方分享的需求,比如向QQ,微信,微博等分享 如下图 我们今天要讲到的方式是使用了一个第三方工具: http://www.sharesdk.cn 一,注册账号 去 ...
- IOS 分享相册里面的视频文件
查了很多资料才知道目前的IOS版本不支持相册里面视频文件的分享,需要将视频文件转存到沙盒里面, 通过沙盒的url进行分享,以下分享转换的代码,留存处理. 将PHAsset格式的文件转存到沙盒里面,并返 ...
- 由于应用universal link 校验不通过(ios分享)
app苹果分享的时候校验不通过 解决方法:登录微信开放平台 点击自己的应用 下拉查看应用平台这里没有ios的,就要新增ios的 在上拉基本信息那里去点击修改进去新的页面不用管, 下拉点击保存,下一步 ...
- ios 分享功能 集成友盟分享
1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网 友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...
- iOS分享(微信、qq、微博)
本文会介绍iOS常用的第三方分享(本文是分享带标题及藐视的h5地址),包括微信.QQ.微博,文章前部分会介绍每个平台的API集成及使用方法,文章后部分会介绍对三方分享(或者登陆)集成一起的三方框架Sh ...
最新文章
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现...
- 代码检查规则:Java语言案例详解
- 阅读量PHP设计,zblogPHP如何修改文章阅读量
- 快速删除数据库中所有表中的数据
- [蓝桥杯2018决赛]换零钞-枚举
- TDMoverIP是什么?tdmoverip产品特性介绍
- 【Python学习】 - skimage包
- JEECG v3视频陆续更新
- ssis 执行任务的日志_SSIS和PowerShell –执行流程任务
- vue 组件需要注意的事项:
- boost::asio的C/S结构笔记
- 基于Python3-Pygame的乒乓球游戏
- override 和 new 关键字的总结
- 捷联惯导系统学习3.3(引力位函数)
- 发票识别OCR和发票扫描仪
- 深圳计师需要全国计算机证吗,深圳入户需要什么技师证
- 拉格朗日对偶性(Lagrange duality)
- 深入 Parcel架构与流程
- 机器学习算法——概率类模型评估指标4(校准可靠性曲线及预测概率直方图)
- 图文教程,Nginx+Keepalived(双机热备)介绍已经搭建高可用负载均衡环境
热门文章
- Git更新本地分支信息
- python中的属性是什么_什么是python类属性
- java中向上的尖括号是什么_T(尖括号)在Java中是什么意思?
- 转专业选择计算机的理由,转专业面试自我介绍范文
- X509TrustManager信任SSL证书
- 泛微云桥e-Bridge安装手册
- 【CCF会议期刊推荐】中国计算机协会(CCF)推荐国际学术期刊/会议(软件工程/系统软件/程序设计语言)
- vue结合elmentui实现前端分页
- 无线扫码枪 服务器查询异常,无线扫描枪常见问题及解决方法
- zh-cn语言(文化)代码与国家地区对照表