xcode iOS虽然我之前做了很多教程和在线研究,但我仍然很新,但仍然有一些事情让我困惑,因为obj c不是我的本机编程语言.(在我的实习生中自学)
我想知道是否有任何方式进行离线构建,UIWebView以便我们可以从本地文件显示pdf文件.
我现在使用的方法是通过UIWebView显示包含PDF URL(在线)的自定义HTML,但我想尽可能制作离线版本.
但是从在线研究来看,在我看来,显示PDF的唯一方法是通过UIWebView,如果确实如此,是否可以从本地资源中提取文件(例如将文件添加到我的xcode资源文件夹)而不是使用PDF网址.
OFF-TOPIC:哪个更好?要提取本地文件或使用PDF文件的在线URL?
作为UIDocumentInteractionController需要连接,它似乎是一个更好的选择,只需拉动在线URL,因为它将是最新和更新.
反馈非常感谢.谢谢!
编辑:快速问题,如果我使用xcode iOS方法或QuickLook框架使其脱机,这将意味着每次添加新的PDF文章时我必须发布更新补丁(如果我错了,请纠正我)
考虑到这一点,我现场提出了一个与我自己的问题相反的论点(对不起,如果有人觉得你在浪费时间在我身上>.<,我是一个喜欢质疑可能性的人可以采取不同的方法解决问题)为了节省时间从不断更新并提供实时基础解决方案,即使用UIWebView(我知道这与我的SO线程的目的相矛盾),因此proj基于在线网站(从那里获取我的内容和来源),如果我要为文章部分加载他们的网站,我会大胆地说通过添加NSString变量,我可以在NSRange中添加与UIWebView一起对viewDidLoad起作用,使得URL永远不会离开新闻部分和PDF URL.例如,使用if和NSRange函数的组合来反击检查URL是否只包含新闻部分和PDF URL)
我在NSRange函数之前做了一次计算器上的点,所以我认为现在是将它用于这个框架应用程序的好时机.
PS - 这个应用程序是一个组织基础项目,我是一个实习生,为他们提供基础骨架框架.
NSString从我可以使用的文件中读取时initWithContentsOfFile:usedEncoding:error:,它会猜测文件的编码.
当我从一个创建它时,NSData我唯一的选择是initWithData:encoding:我必须显式传递编码.当我使用NSData而不是文件时,如何可靠地猜测编码?
是否可以通过以编程方式将文件(即sqlite数据库文件)从Internet下载到您的iPhone应用程序中,以便以后在应用程序中使用?
我正在尝试使用NSURLConnection,但无法保存文件.
这是我正在尝试的示例代码:
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *file = [NSString stringWithFormat:@"http://en.wikipedia.org/wiki/Text_file"];
NSURL *fileURL = [NSURL URLWithString:file];
NSURLRequest *req = [NSURLRequest requestWithURL:fileURL];
NSURLConnection *conn = [NSURLConnection connectionWithRequest:req delegate:self];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[self.fileData setLength:0];
self.totalFileSize = [NSNumber numberWithLongLong:[response expectedContentLength]];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[self.fileData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSArray *dirArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"%@", [dirArray objectAtIndex:0]);
NSString *path = [NSString stringWithFormat:@"%@/blah.text", [dirArray objectAtIndex:0]];
if ([self.fileData writeToFile:path options:NSAtomicWrite error:nil] …Run Code Online (Sandbox Code Playgroud) 我尝试使用 WKWebViewController,但仍然无法正常工作。
url = [[NSBundle mainBundle] URLForResource:@"manual_eos_1d_x" withExtension:@"pdf"];
WKWebViewController * controllerweb = (WKWebViewController *)[segue destinationViewController];
controllerweb.url = url;
Run Code Online (Sandbox Code Playgroud)