iOS图片以及文件选择器

最近因为项目需要接触了一下图片选择以及文件选择这部分,首先图片选择这部分有很多的第三方,这里因为项目中的需求选择了ZLPhotoBrowser,等有时间了一定要自己写一个,要实现图片多选以及对相册比较复杂的操作可以学习下Photo.framework,PhotoUI.framework这两个框架。
文件上传,因为苹果独特的文件系统,每个app独自管理一块自己的沙盒路径,所以要想把一个文件传到另一个app里使用,需要用到UIDocumentInteractionController。
首先我们需要在Info.plist中加一个Document types,把plist文件转换成code形式在里面写

<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>com.myapp.common-data</string>
<key>LSItemContentTypes</key>
<array>
<string>com.microsoft.powerpoint.ppt</string>
<string>public.item</string>
<string>com.microsoft.word.doc</string>
<string>com.adobe.pdf</string>
<string>com.microsoft.excel.xls</string>
<string>public.image</string>
<string>public.content</string>
<string>public.composite-content</string>
<string>public.archive</string>
<string>public.audio</string>
<string>public.movie</string>
<string>public.text</string>
<string>public.data</string>
</array>
</dict>
</array>

这些是支持传送的文件类型。这里写完应该就会在target中的Info里面显示出来了,发送文件后回调用下面这两个方法:iOS9.0以下系统用这个
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation;
9.0以上系统用:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options;
在这里面写传送文件成功后重新进入app执行的操作。
这个里面的url就是文件所在沙盒目录的url。
具体demo在这里
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • 有时候我们需要编写一些小的代码片段时,在Visual Studio中创建一个工程就显得有点杀鸡用牛刀的感觉了,所有...
    简约生活_忆沙阅读 1,769评论 0 0
  • 问题 Implement int sqrt(int x). Compute and return the squa...
    RobotBerry阅读 261评论 0 0
  • 第18天·21天OH卡美颜瘦身课 #玩卡不卡·每日一抽# 每一位都可以通过这张卡片觉察自己: 1、直觉他叫什么名字...
    Evayaoyu阅读 177评论 0 0
  • 家有龙凤胎宝宝一对,每天跟孩子妈一人带一个睡觉,往往我带入睡效率更高,3.21是睡眠日,因此想到分享这个主题,也帮...
    心义爸爸阅读 449评论 2 4