0
私はシミュレータ、IOS 10.2上で実行されているスウィフト3内のファイルへのNSLogを送信しようとしています働いていないスウィフトのファイルに何も生産されていないリダイレクトのNSLogは
func redirectConsoleLogToDocumentFolder() {
let file = "file.txt"
if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
let logPath = dir.appendingPathComponent(file).absoluteString
print("log:\(logPath)")
freopen(logPath, "a+", stderr)
}
NSLog("print nslog")
}
出力
~/Library/Developer/CoreSimulator/Devices/A7B717-3ED8-493A-9778-C594AF9FF446/data/Containers/Data/Application/B0386-64BB-46EB-9BF2-65209FC748CD/Documents/file.txt
唯一の効果は、出力がコンソールに出力されなくなることです。
私は受け付けており、私は何の問題のパスとファイルへの書き込みがありません
freopen(logPath.cString(using: .utf8), "a+", stderr)
や他のさまざまな組み合わせ
を試してみましたので、
と間違って何もありません私はに期待パスにfile.txtというファイルが作成され、「print nslog」が格納されているファイルが表示されます。私は成功せずにファイルを最初に作成しようとしました。