最近開發的需求里面要能夠用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
}