UIActivityViewController
1、交互类型
操作-action在第三排显示
拷贝、打印、复制、幻灯片、airplay、隐藏、指定给联系人、用做墙纸、添加到icloud dirve
赠礼、拷贝链接
添加到屏幕、添加到个人收藏、添加书签、加入阅读列表、拷贝、打印、在页面上查找、请求桌面站点
存储图像
通过airdrop共享 -在第一排显示
(activityType:
com.apple.UIKit.activity.AirDrop)
分享-在第二排显示
短信、邮件、提醒事项、twitter、facebook、微博、腾讯微博、微信、qq、企业微信、小秘圈
支付宝、save to board(印象笔记)
qq,小秘圈,企业微信 不支持数据数组分享,自动从数组中截取1条数据
微信不支持文本类型的分享
新浪微博、邮件、短信,支持多条数据分享
2、交互的数据
字符串、属性字符串、url、data、图像、asset、
其它(sms:// nsurl,fileUrl, uiprintformatter,uiprintinfo,uiprintpagerender,uicolor,nsdictionary)
sandbox_extension_issue_file failed for file: bundle里面的数据无法传输。
nsdata 、uiimage, fileurl 不能同时传输。传fileurl就不要同时传nsdata,uiimage
存储图像需要info.plist添加Key——NSPhotoLibraryUsageDescription
3,自定义交互
1)
操作
分享
UIActivity
activityCategory:是操作按钮还是分享按钮
activityType:新定义一个标示字符串, UIActivityItemProvider与此对应.
activityTitle:图标名称
activityImage:图标的图片名称
2)
内容
UIActivityItemProvider
activityType:与UIActivity对应。确定该数据的图标展示样式
item:交互的数据
需要显示什么样的按钮,
(默认有15中activityType的UIActivity, 自定义的UIActivity)。
比如想自定义图标和图标title,以及点击后的操作行为,就自定义UIActivity
需要共享什么样的数据,
(默认的item:字符串、属性字符串、url、data、图像、asset, 自定义UIActivityItemProvider)
UIActivityViewController:
initWithActivityItems:applicationActivities:第一个参数就是设定数据,第二个参数设定交互按钮
4,分享扩展
5,操作扩展