QLPreviewController加载mainBundle文件不显示问题 Couldn't issue file extension for url:

需要把文件copy到沙盒中再显示

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *docDir = [paths objectAtIndex:0];

NSString *path = [docDir stringByAppendingPathComponent:@"222.pdf"];

NSString *path2 = [[NSBundle mainBundle] pathForResource:@"222.pdf" ofType:nil];

BOOL filesPresent = [self copyMissingFile:path2 toPath:docDir];

if (filesPresent) {

NSLog(@"OK");

}

else

{

NSLog(@"NO");

}

- (BOOL)copyMissingFile:(NSString *)sourcePath toPath:(NSString *)toPath

{

BOOL retVal = YES; // If the file already exists, we‘ll return success…

NSString * finalLocation = [toPath stringByAppendingPathComponent:[sourcePath lastPathComponent]];

if (![[NSFileManager defaultManager] fileExistsAtPath:finalLocation])

{

retVal = [[NSFileManager defaultManager] copyItemAtPath:sourcePath toPath:finalLocation error:NULL];

}

return retVal;

}

QLPreviewController加载mainBundle文件不显示问题 Couldn't issue file extension for url:

原文地址:https://www.cnblogs.com/chao-ya/p/8430840.html

时间: 2025-01-11 14:39:41

QLPreviewController加载mainBundle文件不显示问题 Couldn't issue file extension for url:的相关文章

加载json文件没显示图片

IOS 9新特性要求App内访问的网络必须使用HTTPS协议. 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全.现在也不能马上改成HTTPS协议传输. 以下解决办法: 在info.plist文件中设置 App Transport Security Settings Allow Arbitrary Loads                        boolean         YES

[转载] Java中动态加载jar文件和class文件

转载自http://blog.csdn.net/mousebaby808/article/details/31788325 概述 诸如tomcat这样的服务器,在启动的时候会加载应用程序中lib目录下的jar文件以及classes目录下的class文件,另外像spring这类框架,也可以根据指定的路径扫描并加载指定的类文件,这个技术可以实现一个容器,容纳各类不同的子应用. Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,不像C加载动态链接库只要一个文件名就可以搞定,但JDK仍

JVM加载class文件的原理

当Java编译器编译好.class文件之后,我们需要使用JVM来运行这个class文件.那么最开始的工作就是要把字节码从磁盘输入到内存中,这个过程我们叫做[加载 ].加载完成之后,我们就可以进行一系列的运行前准备工作了,比如: 为类静态变量开辟空间,将常量池存放在方法区内存中并实现常量池地址解析,初始化类静态变量等等.这篇文章我们要好好谈谈JVM是如何加载class文件的? 1.JVM加载类的过程       当我们使用命令来执行某一个Java程序(比如Test.class)的时候:java T

openGL加载obj文件+绘制大脑表层+高亮染色

绘制大脑表层并高亮染色的工作是以openGL加载obj文件为基础的,这里是我们用到的原始程序:只能加载一个obj文件的demo. 然而,一个完整的大脑表层是由很多分区组成的,因此我们的程序需要支持两个功能: 同时加载多个obj文件. 每个大脑分区obj文件保持其相对位置. 明白了需求后,我们就可以开始修改代码了~ glmUnitize函数的作用是单位化,也就是把模型通过平移和缩放变换限制到3维坐标系中点为中心的一个单位正方体区域内.所以控制obj显示位置是在glmUnitize()函数中,源代码

iOS 8 & Xcode 6:UINib加载xib文件问题

使用UINib类静态方法nibWithNibName:bundle:加载xib(nib)文件,第一个参数无须加文件后缀.若加后缀,则程序报错:第二个参数为空时,程序从mainBundle指向的路径中搜索文件. 正确的写法: UINib *storyCellNib = [UINib nibWithNibName:@"StoryCell" bundle:nil]; [self.tableView registerNib:storyCellNib forCellReuseIdentifier

ios – 使用UINib加载xib文件实现UITableViewCell

xib文件的实质是xml,描述界面对象,每个对象都有一个很重要的属性,identity inspector面板中class属性,加载xib文件的时候实际上是实例化界面对象相对应的这些class. xib文件的加载过程: 1.将xib文件从磁盘载入内存,有两种技术可以加载xib文件:NSBundle和UINib. 2.执行unarchive和initialize操作,该过程主要由NSCoding Protocol中的initWithCoder:(NSCoder *)decoder完成. 3.建立c

js加载xml文件xin

js加载xml文件 作为刚进入软件开发大军的我,以一个水军的资格开始做梦,以一个画者的资格在'一张白纸'上开始涂抹.工作在哪里??工作在哪里呢??? 今天发现一道面试题: 附件中有一个城市列表的city.xml文件,现在需要您通过Javascript脚本对该文件进行解析,然后将城市列表还原到下拉列表框中:当选择下拉列表框时,在对应的文本框中显示该城市信息(界面布局请参考test1.html文件,也可以自行定义). 上网查了一天的资料,绞尽脑汁的试着网上前辈的各种方法,为什么一个个别人成功的案例,

VS2013 编译程序时报无法加载PDB文件错误解决方案

vs2013运行c++出现:无法查找或打开 PDB 文件. "ConsoleApplication1.exe"(Win32): 已加载"C:\Users\hp\Documents\Visual Studio 2013\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe".已加载符号. "ConsoleApplication1.exe"(Win32): 已加载"C:\Win

构建基于Javascript的移动web CMS——加载JSON文件

在上一篇中说到了如何创建一个Django Tastypie API给移动CMS用,接着我们似乎也应该有一个本地的配置文件用于一些简单的配置,如"获取API的URL"."产品列表"."SEO"(在一开始的时候发现这是不好的,后面又发现Google的爬虫可以运行Javascript,不过也是不推荐的.)这些东西是不太需要修改的,直接写在代码中似乎又不好,于是放到了一个叫作configure.json的文件里. RequireJS Plugins 网上