美文网首页
NSBundle介绍及使用

NSBundle介绍及使用

作者: 宁梓茞 | 来源:发表于2018-02-10 20:28 被阅读0次

bundle 是一个目录,其中包含了程序会使用到的资源.这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in).对应bundle,

cocoa提供了类NSBundle.

bundle 文件的创建,只需要在本地创建一个文件夹,给文件夹添加后缀@".bundle"

那么在工程中获取这个 bundle 文件夹的路径我们使用

[[NSBundle mainBundle] pathForResource:<#(nullable NSString *)#> ofType:<#(nullable NSString *)#>] 是获取不到路径的

如果是在工程文件下我们使用

//例 NSURL *fileURl = [[NSBundle mainBundle] URLForResource:@"books" withExtension:@"epub"];

在bundlle文件夹下我们需要使用

[NSBundle mainBundle]resourcePath]

//[NSBundle mainBundle]是获得NSBundle的一个单例对象,次单例对象 已经设置了默认的resourcePath,也就是你的app打包后的路径,[NSBundle    mainBundle]resourcePath]就是获得这个完整的打包后的app路径,但你的books.txt文件并不在这个目录,而是在app内部,这时就需要拼接路径字符串[NSString stringWithFormat:@"%@%@%@",[[NSBundle mainBundle]resourcePath],@"/",path];

//在 bundle 文件下需要使用这种方法,但是中文的 URL 必须 UTF8编码

NSString *file = [NSString stringWithFormat:@"file://%@/books.epub",[[NSBundle mainBundle]resourcePath]];

//NSString *encoding = [file stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *fileURl = [NSURL URLWithString:file];

控制台输出

file:///Users/apple/Library/Developer/CoreSimulator/Devices/9787BF52-ACE1-4A9F-9A8D-7BF6D6E7AC82/data/Containers/Bundle/Application/07B97638-C045-4DAC-9F82-B2219A28AE9E/EPUBBooks.app/books.epu

相关文章

  • NSBundle介绍及使用

    bundle 是一个目录,其中包含了程序会使用到的资源.这些资源包含了如图像,声音,编译好的代码,nib文件(用户...

  • NSBundle介绍

    bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户...

  • NSBundle使用

    1、获取info.plist信息 版本号:Bundle version NSString *version = [...

  • NSBundle使用

    bundle是一个目录,其中包含了程序会使用到的资源,这些资源包含了如图像、编译好的代码、nib文件等。对...

  • UIScreen、UIDevice、NSBundle的简单介绍及

    UIScreen 定义了基于硬件显示的相关属性 mainScreen类方法 返回主屏幕 mirroredScree...

  • 关于[[NSBundle mainBundle] pathFor

    最近在使用[[NSBundle mainBundle] pathForResource:@"name" ofTyp...

  • 接口测试——requests 的基本了解

    ● requests介绍及安装 ● requests原理及源码介绍 ● 使用requests发送请求 ● 使用re...

  • iOS APP获取文件路径

    获取资源路径 使用[NSBundle MainBundle] pathForResources 拿不到 imag...

  • NSBundle的使用细节

    在读取本地文件时,我们一般都会直接考虑到NSBundle,因为它是指当前目录,而通常我们有时也会考虑到NSSear...

  • Swagger介绍及使用

    导语: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后...

网友评论

      本文标题:NSBundle介绍及使用

      本文链接:https://www.haomeiwen.com/subject/aeshtftx.html