您的位置:首页 > 移动开发

iOS-为自己App添加文件支持类型

2017-12-15 00:00 211 查看

用自己的App打开其他App不支持的文件如下效果图:



上图用到的界面用到的类是 UIDocumentInteractionController

iOS添加支持打开的文件类型步骤两种方式为1、2如下图





在自己App中获取文件

如下代码:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"url = %@",url);
if (url != nil) {
NSString *path = [url absoluteString];
path = [self URLDecodedString:path];
NSMutableString *string = [[NSMutableString alloc] initWithString:path];
if ([path hasPrefix:@"file://"]) {
[string replaceOccurrencesOfString:@"file://" withString:[@""](https://my.oschina.net/u/2433434) options:NSCaseInsensitiveSearch  range:NSMakeRange(0, path.length)];
}

//获取在存储在本地的文件路径就可以在自己需要显示的页面加载文件显示了
}

return YES;
}
//当文件名为中文是,解决url编码问题
-(NSString *)URLDecodedString:(NSString *)str
{
NSString *decodedString=(__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (__bridge CFStringRef)str, CFSTR(""), CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
NSLog(@"decodedString = %@",decodedString);
return decodedString;
}

官方文档地地址及部分截图

https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html#//apple_ref/doc/uid/TP40009259-SW1

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: