无法将文本文件打包到xcode中

时间:2019-05-06 03:46:09

标签: swift xcode

我试图找出如何在捆绑软件中的MacOS应用中存储文本信息。但是,当我尝试运行该应用程序时,找不到该文件。

这是我在做什么:

  1. 使用命令行应用程序模板创建一个全新的Xcode项目,该模板在目录BundleExperiment中位于random_code_projects

  2. 在命令行中,在创建的存储库(~\random_code_projects\BundleExperiment)的根目录中添加了一个文本文件,名为“ hello.txt”,其中包含“ hello残酷的世界”,我认为它是ascii或utf -8。 (echo "hello cruel world" > hello.txt

所以我的顶级BundleExperiment的内容是:


BundleExperiment
|
|- - main.swift

BundleExperiment.xcodeproj
|
|- - a bunch of Xcode generated stuff like project.pbxproj

hello.txt 

  1. 在macOS 10.14.4的xcode 10.2.1中的项目导航器中,突出显示“ BundleExperiment”文件夹,然后使用菜单命令File --> Add Files to "BundleExperiment",导航至hello.txt并添加它,并选择以下选项:

    • 根据需要复制项目
    • 创建文件夹引用(不创建组)
    • 添加到目标(已选中BundleExperiment)
  2. 然后我的main.swift文件的内容如下:


import Foundation

let urlPath = Bundle.main.url(forResource: "hello", withExtension: "txt")!

let hello = try! String(contentsOf: urlPath)

print(hello)

  1. 我通过单击小游戏符号来构建和运行。

它抛出:

Fatal error: Unexpectedly found nil while unwrapping an Optional value
2019-05-05 22:38:23.456979-0500 BundleExperiment[5030:6734193] Fatal error: Unexpectedly found nil while unwrapping an Optional value

我在做什么错?我以为我还没有把东西捆绑在一起,例如,有一些随机的sub-sub-sub-sub菜单项,其名称完全没有意义,例如“ finagle the squirtle”,意思是“不,我真的想放捆绑包中的东西”。

0 个答案:

没有答案