最近开发的需求里面要能够用app打开QQ、微信里接收到的文件。所以研究了一下如何在"其他应用打开"列表里面添加自己的app。
-
直接贴图说明
- 主要添加 Document Types 和 ExportedUtls
- 参数说明
Document Types:
name:这个可以随便填写
types:支持类型文件,为了省事可以在下面两个中选择
public.data: 打开大多数文件[文件夹除外],例如: .db, .dat , 包含public.content的全部
public.content: 打开一些简单文件时候,例如: png,jpg,plist,文档,表格,html等
icon:可以添加也可以不添加ExportedUtls:
Identifier:必填,为项目的Bundle Identifier
- 方法实现
最后一步就是在APPDelegate里面实现以下方法:
这个方法在iOS9开始就废弃了
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation {
NSLog(@"application = %@",application);
NSLog(@"url = %@",url);
NSLog(@"sourceApplication = %@",sourceApplication);
NSLog(@"annotation = %@",annotation);
return YES;
}
iOS9 之后实现这个方法
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
NSLog(@"app = %@", app);
NSLog(@"url = %@", url);
NSLog(@"options = %@", options);
return YES
}