将我的Swift 3应用程序部署到Heroku后,崩溃时出现以下错误:
$request->get('sorting_ids')
在Ubuntu上我可以使用什么代替fatal error: init(contentsOfFile:usedEncoding:) is not yet implemented: file Foundation/NSString.swift, line 1255
?
答案 0 :(得分:11)
查看Swift标准库的最新源代码,String.init(contentsOfFile:)
在内部调用NSString.init(contentsOfFile:usedEncoding:)
。 (NSStringAPI.swift)
如您所见,Linux版NSString.init(contentsOfFile:usedEncoding:)
尚未实现。 (NSString.swift)
似乎已NSString.init(contentsOfFile:encoding:)
已实施且String.init(contentsOfFile:encoding:)
已将其调用。因此,如果您知道文件的编码,请使用String.init(contentsOfFile:encoding:)
,如:
let fileContent = try? String(contentsOfFile: filePath, encoding: .utf8)
如果您不知道文件的字符串编码,则可能需要自己实现该功能。