iOS 注册可分享文件类型

综合技术 CocoaChina (源链)

最近开发的App 有个需求,需要获取本地的录音文件。找了半天没有找到好的解决方案,发现微信的方法是在 录音备忘录 中分享至微信。

苹果官方文档地址

注册可接受文件类型

因为我打开的是录音文件,这里就以 iOS 的录音文件为例 (*.m4a)

  • 打开 info.plist 文件,添加项 Document types

  • 展开 Document types 的 item 0 选项

  • Document Type Name 自定义Name,自己可以随便填

  • CFBundleTypeIconFiles 指定分享时显示的 App Icon ,这里我没有填,会用默认的

  • Handler rank 定义优先级,Owner 的优先级最高,分享至 App 时,你的会靠前排列

  • 在 item0 中添加 key Document Content Type UTIs 这边是指定你注册的可以接受的文件类型, 文件类型的对应关系如下图.

这里我要接受 m4a 文件,所以 注册类型为 public.audio 。 public.data 代表可以接受任何类型的文件。如果想注册多个类型,可以在 Document types 下面继续添加 item 。

这时看你的工程文件 info 选项卡中的 Document types,应该有你刚才注册的类型.

接受文件代码

当文件分享至 App 时会调用 Appdelegate 的如下函数. 文件地址会在参数 url 中传入。

#if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_9_0
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
{
    // dosomething
    return YES;
}
#else
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(nonnull NSDictionary *)options
{
    // dosomething
    return YES;
}
#endif

效果图如下

注意,这里分享是显示的是拷贝至,点击更多,打开微信的 switcher 之后,会像上图一样多一个 ‘微信’ 选项(没有’拷贝至’),它会在当前应用弹窗,给出分享逻辑。具体实现方法还不清楚,等有时间再研究。

若有知道,还请赐教。

您可能感兴趣的

iOS中@功能的完整实现 哼哼想不到吧,我又回来啦!好久没写文章了,以后尽量多写写吧。最近看到有人问@功能的需求,就大概写了写,先看看实现效果: 效果图 这个功能的具体要求如下: 1、一个@是由一个@字符和一个空格字符包起来的。 2、支持手写输入,只要符合就高亮显示。 3、支持从列表选择,...
代理模式入门 代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。 代理有多种类型: 远程代理:为位于不同地址空间或网络上的对象提供本地代表 虚拟代理:根据需要创建开销大的对象 保护代理:根据各种访问权限控制对原对象的访问 智能引用代理:通过对真正对象的引用进行...
Ios NSRegularExpression disorder I'm trying to do a basic regular expression in xcode and it's not cooperating. NSString *urlString = @"http://www.youtube.com/v/3uyaO745g0s?fs=1&...
iOS保存联系人到系统通讯录 1、首先判断当前通讯录是否存在这个联系人 // 判断通讯录是否存在某个联系人 + (BOOL)isExistContactNameByName:(NSString *)contactName{ ABAddressBookRef addBook = nil; __b...
iOS让GIF动起来 用webView来进行展示gif图片 UIWebView *webView = initWithFrame:self.view.bounds]; webView.scalesPageToFit = YES; WKWebViewConfiguration *conf = ...
CocoaChina责编内容来自:CocoaChina (源链) | 更多关于

阅读提示:酷辣虫无法对本内容的真实性提供任何保证,请自行验证并承担相关的风险与后果!
本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » iOS 注册可分享文件类型



专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录