代码之家  ›  专栏  ›  技术社区  ›  Tom

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

  •  0
  • Tom  · 技术社区  · 10 年前

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

    1) “内置”应用程序缓存路径为 NSHomeDirectory()+“/库/缓存/”

    2) 放置应用程序启动图像和图标 NSBundle.mainBundle().resourcePath! (这张地图到底到哪里?)

    3) 我在“xcode-build phases-copy bundle resources”中添加的一个“蓝色”文件夹(称为“ownassets”)放在。。。? NSHomeDirectory()+“/库/”

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

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

    笔记 对于如何获得对您在“构建阶段>复制捆绑资源”中添加的文件夹和内容的正常IO文件读取权限的软管,这是如何实现的:NSBundle.mainBundle()。资源路径!+“/”+文件夹名称

    1 回复  |  直到 10 年前
        1
  •  3
  •   jtbandes    10 年前

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

    1. 缓存目录:

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

      • 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 .