ios - Xcode 和 iOS 应用程序数据文件放置默认值

标签 ios xcode

我对 iOS7-iOS9 的理解是否正确:

1) “内置”应用缓存路径为 NSHomeDirectory() + "/Library/Caches/"

2) 应用程序启动图像和图标放置在 NSBundle.mainBundle().resourcePath!(这个映射到哪里?)

3) 我在“xcode - build phases - copy bundle resources called “ownassets””中添加的“blue”文件夹放在...? NSHomeDirectory() + "/Library/"

我只是想100%确定我是否正确理解了文件的放置位置,这样我就可以在应用程序执行期间读取和加载它们(并写入我的缓存)

注意:我意识到发布代码应该使用系统调用来获取路径,因为 Apple 可能会在未来的 iOS 版本中更改路径。

注意 要了解如何获取对您在“构建阶段 > 复制捆绑资源”中添加的文件夹和内容的正常 IO 文件读取权限,方法如下:NSBundle.mainBundle().resourcePath! + "/"+ 文件夹名称

最佳答案

你不应该过多考虑磁盘上的实际位置,而是使用更高级别的系统 API 来查找文件/路径:

  1. 缓存目录:

    let cacheURL = try NSFileManager.defaultManager().URLForDirectory(.CachesDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
    
  2. bundle 中的应用资源:

    • let image = UIImage(named: "imageName")
    • let path = NSBundle.mainBundle().pathForResource("image", ofType: "png")
  3. 子目录下的应用资源:

    let path = NSBundle.mainBundle().pathForResource("info", ofType: "dat", inDirectory: "AdditionalResources")
    

有关详细信息,请参阅 the File System Programming Guide .

关于ios - Xcode 和 iOS 应用程序数据文件放置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34625312/

相关文章:

ios - 创建一个透明的 UIview

swift - 如何使用按钮更改 NSCollectionView 的数据

ios - 如何在 Xcode 中向 OpenGL ES 帧捕获数据添加注释?

ios - RestKit Router - 如何使用嵌套变量实现路由?

ios - 将 UITextView 放在未定义数量的 UITableViewCell 下方?

ios - 如何让工作preparForSegue :sender: XCode 6?

ios - 有没有办法让 Xcode 7.3 及以上版本支持多 Mac 设备间的分布式构建?

ios - UIApplicationOpenURLOptionsKey.sourceApplication 可以为零吗?

ios - 从 collectionview 内的 Tableview 单元中导航到 View Controller

ios - 将项目复制到新笔记本电脑后出现 Apple Mach-O 链接器错误