我花了至少两个小时的时间来尝试,然后才发布了这个相当简单的问题。下面的代码在json文件位于应用程序包中时工作。
if let file = Bundle.main.url(forResource: "data", withExtension: "json") {....
我这样阅读json文件。。
let myData = try Data(contentsOf: file as URL)
我无法从“/Library/Application Support/AppFolder/data.json”访问该文件的相同副本。
以下内容不起作用
let filepath = "/Library/Application Support/AppFolder/data.json"
if let file = NSURL(string: filepath) {...
2条答案
按热度按时间5vf7fwbs1#
除了文件系统中的URL必须始终使用
NSURL(fileURLWithPath...)
创建之外,建议使用一个专用API检索特定的系统文件夹:或者在Swift 3中(这要短得多)
或者-在iOS 16+和macOS 13+中-仍然更方便
hwamh0ep2#
尝试:
NSURL.init(fileURLWithPath: "your_path")
string:
生成一个NSURL,表示给定的字符串。所以像“http://www.google.com”这样的字符串和URL表示http://www.google.com。fileURLWithPath:
接受一个路径,而不是URL,并生成一个NSURL,它使用file://URL表示路径。所以如果你给予它/foo/bar/baz
,URL将表示file:///foo/bar/baz
。