LoginSignup
junjiyamasaki
@junjiyamasaki

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

SwiftUIで、特定のcsvファイルだけ読み込み時に致命的エラーが出て困っています。

解決したいこと

XcodeVersion 14.1 (14B47b)・SwiftUIでのcsvファイル読み込み時に致命的エラーが起きて困っています。

0.csv〜12.csvを状況に応じて読み込ませたいのですが、12.csvだけ
let csvBundle = Bundle.main.path(forResource: fileName, ofType: "csv")!
の行で下のエラーが発生しています。
このエラーが出る際にBundle.main.path(forResource: fileName, ofType: "csv")!がnilを返しているので12.csvが見つからないという意味のようですが、ファイルは確実に存在します。
お助けいただけますでしょうか。

発生している問題・エラー

Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

該当するソースコード

func loadCSV(fileName: String) -> [String] {
    let csvBundle = Bundle.main.path(forResource: fileName, ofType: "csv")!
    var csvArray:[String] = []
    do{
        let csvData = try String(contentsOfFile: csvBundle, encoding: String.Encoding.utf8)
        let lineChange = csvData.replacingOccurrences(of: "\r", with: "\n")
        csvArray = lineChange.components(separatedBy: "\n")
        csvArray.removeLast()
    }catch{
        print("エラー")
    }
    return csvArray
}

自分で試したこと

Bundle.main.path(forResource: fileName, ofType: "csv")!のfileNameを”12”のように書き直接ファイル名を指定しても12.csvだけは読み込めません。

0

1Answer

リソースとして追加はできているのでしょうか。
例えば、ターゲットのBuild PhasesのCopy Bundle Resourcesに対象のファイルはありますか?

1

Comments

  1. @junjiyamasaki

    Questioner
    おぉ!!そういうことが起きてたんのですね!!ありがとうございます。解決できました。

    (返事になっていないですね・・・。対象のファイルはありませんでした。)

Your answer might help someone💌