iOS-如何捆绑到Bundle.main.resourcePath中?

时间:2019-06-26 14:08:27

标签: ios swift xcode

上下文:Xcode 11.0 beta 2 / Swift 5

我想创建一个捆绑包以在物理iOS设备上访问。我在How to make an iOS asset bundle?上尝试了所有解决方案,但无济于事。

我已经在finder中创建了一个包含文件的包,然后将其移动到Xcode,这样我的目录结构如下所示:

  • *项目名称*
  • *项目名称*测试
  • 产品
  • somebundle.bundle
    • somefile.csv

我不断收到错误消息

the file "somefile.csv" couldn't be opened because there is no such file

测试时。

我正在通过let text = try String(contentsOfFile: Bundle.main.resourcePath! + "/somebundle.bundle/somefile.csv")

访问文件

但是实际上,打印Bundle.main.resourcePath(FileManager.default.contentsOfDirectory(atPath: Bundle.main.resourcePath!))的内容表明该捆绑包不在Bundle.main.resourcePath中,因为这是输出: [“ _CodeSignature”,“ PlugIns”,“ Base.lproj”,“ *项目名称*”,“ Frameworks”,“ Info.plist”,“ PkgInfo”]

那么,我如何将捆绑包放入Bundle.main.resourcePath中,因为顶部问题的答案似乎表明应该是这种情况?

1 个答案:

答案 0 :(得分:0)

要在物理设备上安装该应用程序时访问捆绑包的内容,您需要确保在构建过程中将其复制。

转到“项目设置”->“构建阶段”->“复制捆绑包资源”,并确保其中列出了捆绑包。

除非在尝试编辑/保存之前先将其复制到documents文件夹,否则您将只能从那里读取内容。