当前位置:  开发笔记 > IOS > 正文

Bundle.main.path(forResource:ofType:inDirectory :)返回nil

如何解决《Bundle.main.path(forResource:ofType:inDirectory:)返回nil》经验,为你挑选了4个好方法。

尽量不要笑或哭 - 我只是在20年后重新开始编码......

我花了4个多小时查看引用并尝试使用代码片段来获取Bundle.main.path来打开我的文本文件所以我可以读取我的应用程序的数据(我的下一步是适当地解析它).

if let filepath = Bundle.main.path(forResource: "newTest", ofType: "txt")
{
    do
    {
        let contents = try String(contentsOfFile: filepath)
        print(contents)

    }
    catch
    {
        print("Contents could not be loaded.")
    }
}
else
{
    print("newTest.txt not found.")
}

结果是:"找不到newTest.txt." 无论我如何尝试将文件拖放到项目中,在Xcode中创建文件或使用文件 - >添加文件到...菜单项.



1> Denis Hennes..:

问题是该文件没有处理您的应用包.要解决这个问题:

单击您的项目

单击您的目标

选择Build Phases

展开Copy Bundle Resources

点击"+"并选择您的文件.


没有别的办法,这对我有用.为什么我放入Xcode的文件不会自动显示在"Copy Bundle Resources"下?

2> shallowThoug..:

仔细检查Optionsadd files添加文件时菜单.Add to targets必须勾选目标以将其添加到捆绑包中:

如果您实际上在另一个包中(例如测试),请使用:

guard let fileURL = Bundle(for: type(of: self)).url(forResource: fileName withExtension:"txt") else {
        fatalError("File not found")
}



3> Kelvin Fok..:

单击导航面板上的文件,然后打开右侧面板/属性检查器.

在此输入图像描述

确保添加到目标成员身份



4> Himanshu Mor..:

Swift 3.0

let fileNmae = "demo"

let path = Bundle.main.path(forResource: fileNmae, ofType: "txt")
    do {
        let content = try String(contentsOfFile:path!, encoding: String.Encoding.utf8)
        print(content)
    } catch {
        print("nil")
    }

SWift 2.0

do{
      if let path = NSBundle.mainBundle().pathForResource("YOURTXTFILENAME", ofType: "txt"){
             let data = try String(contentsOfFile:path, encoding: NSUTF8StringEncoding)
             let myStrings = data.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet())
              print(myStrings)
       }
  } catch let err as NSError {
            //do sth with Error
            print(err)
  }

输出:

Hello Hems
Good Morning
I m here for you dude.
Happy Coding.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有