Ios 如何通过Swift中的Xcode将默认.txt文件输入iPhone

Ios 如何通过Swift中的Xcode将默认.txt文件输入iPhone,ios,iphone,xcode,swift,Ios,Iphone,Xcode,Swift,我正在尝试读取我已经在桌面上创建的文本文件。我通过Xcode将这个Story.txt放入计算机上相应的文件路径,大致如下: (/Users/username/Library/Developer/CoreSimulator/Devices/12F046A7-更多数字/数据/容器/数据/应用程序/8AECCA06-160C-4702-B16E-FF50B2A145F5) 代码工作得很好。但是,当我尝试在iPhone上运行应用程序时,它会更改文件路径,并且Xcode不会自动将我的文件传输到此文件路径的

我正在尝试读取我已经在桌面上创建的文本文件。我通过Xcode将这个
Story.txt
放入计算机上相应的文件路径,大致如下:

(/Users/username/Library/Developer/CoreSimulator/Devices/12F046A7-更多数字/数据/容器/数据/应用程序/8AECCA06-160C-4702-B16E-FF50B2A145F5)

代码工作得很好。但是,当我尝试在iPhone上运行应用程序时,它会更改文件路径,并且Xcode不会自动将我的文件传输到此文件路径的iPhone文档文件夹中

(/var/mobile/Containers/Data/Application/139C80A3更多数字/文档)

如何在该位置手动放置.txt文件

下面是我用来读取文件的代码

func loadStory()
{
    if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first
    {
        let path = dir.stringByAppendingPathComponent("Story.txt")
        print(path)
        do
        {
            //reads file
            let text:String = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding) as String

        }
        catch {/* error handling here */}
    }
}

由于您似乎希望应用程序中包含该文件,因此不要尝试在计算机上的某个位置手动安装该文件。只有当您碰巧将文件放在正确的位置时,这才适用于模拟器

相反,将该文件添加到Xcode项目中。然后,该文件将添加到应用程序的资源包中。然后,您可以使用
NSBundle
访问该文件以获取其路径。它将不在应用程序的“文档”文件夹中。它将在应用程序的捆绑包中


有关更多详细信息,请参阅。

如果您可以将文件从.txt更改为plist,则可以将其集成到项目中,而不必考虑它在哪里,它将始终可以访问。

您需要将其添加到项目中。将其拖放到项目中,以便将其捆绑在一起。您可以使用

Let string = NSBundle.mainBundle().resourcePath as NSString
String.stringByAppendingPathComponent('Story.txt')

很明显,使用这个文本文件的全部目的是,我不必在代码中添加数百行默认文本。保持我的代码干净。我永远不会更改文本文件。我只想在应用程序启动时读取一次。您是否希望该文件与应用程序捆绑在一起,以便当用户下载您的应用程序时,该文件已可用于应用程序?正是这样,我希望它位于iPhone使用的文件路径。但现在我只是尝试通过xCode在我的iPhone上运行应用程序。你不必将txt更改为plist以将文件包含在项目中。谢谢,不知为什么我错过了这个线程。我正在使用“如何从文本文件读/写”线程中的信息,该线程使用了这个奇怪的文件路径。它工作得很好。