iOS给应用添加支持的文件类型/根据文件类型打开应用

iOS给应用添加支持的文件类型/根据文件类型打开应用

之前写过类似的文章 IOS UTI(统一类型标识符) 根据文件后缀打开APP自定义UTI 注册你的APP所支持的文件类型 这里 再次总结说明。

已经存在的UTL类型

苹果官方文档提供了常见情况下,所支持的UTL类型 【链接

如何添加已经存在的类型

在Xcode中选择TARGES----> Info 添加 Document types 中配置 一个item
在这里插入图片描述
说明:

DocumentTypeName:

文档的类型名称

HandlerRank:

指定文件能被app持有或者只能打开文件,默认为Default,
其中包含 Owner,Default,Alternate,None四个可选值,指定对于某种类型的优先权级别,而Launcher Service会根据这个优先级别来排列显示的App的顺序。优先级别从高到低依次是Owner,Alternate,Default。None表示不接受这种类型。

Document Content Type UTIs:

文件类型的UTI。这里填写你App的bundle identifier + 分享的文件的后缀.

CFBundleTypeIconFiles

在别的app上显示图片。

需要注意的是 Xcode 10 中关于此配置的如下在这里插入图片描述

添加自定义的 UTL

在这里插入图片描述
在这里插入图片描述
Document Content Type UTIs:这里填写你App的bundle identifier + 分享的文件的后缀
public.filename-extension:这里填写你压缩包的扩展名。

在App中获取文件
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_9_0

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
   NSLog(@"openURL : %@",url);
   [self openFileWithopenURL:url];
   return YES;
}

#else

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{
    NSLog(@"Get doc file url: %@",url);
    [self openFileWithopenURL:url];
    return YES;
}

#endif



-(void)openFileWithopenURL:(NSURL *)url
{
    // 模型文件的地址
    NSString *str = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *modeName = [[str componentsSeparatedByString:@"/"]lastObject];
    NSString *docDir = [str stringByReplacingOccurrencesOfString:@"file://" withString:@""];
    if (modeName.length >0)
    {
     	NSLog(@"docDir 就是文件的路径")}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值