私は次のプロジェクトレイアウトを持っています(契約済み):
project_root
└── Sources
└── App
├── main.swift
└── Models
└── SQL
└── createTables.sql
createTables.sql
実行時にファイルを読み込もうとしていますがFileManager.fileExists()
、存在しないと言われます。#file
inを使用してパスを取得しましたmain.swift
:
let path = URL(fileURLWithPath: #file).deletingLastPathComponent().path + "/Models/SQL/createTables.sql"
パスを印刷すると、正しいようです。Heroku のエフェメラル ファイルシステムが原因で、ソース ツリーにアクセスできないと推測しています。これを回避し、実行時にファイルを読み取るにはどうすればよいですか?