我正在处理内容拦截器并阻止成人网站,因此,当我在iPhone 6上进行测试时,此代码在模拟器上是完美的工作,那么其无人网站就是阻止
Alamofire.request(url).responseJSON { response in
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)")
self.containerURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.domainName.contentBlocker")
let path = self.containerURL?.appendingPathComponent("blockerList.json")
self.text = utf8Text.description
do {
try self.text.write(to: path!, atomically: true, encoding: String.Encoding.utf8)
}catch{
print(error)
}
print(path)
}
}
然后在扩展处理程序文件上加载数据之后。 提前谢谢。
答案 0 :(得分:0)
我有类似的问题,读取组的内容直接在模拟器上工作,但不在设备上。它通过在组中创建一个子目录来解决这个问题,并在该子目录中进行所有读写操作。
if let root = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "YOUR_GROUP_NAME") {
let url = root.appendingPathComponent("storage")
try? FileManager.default.createDirectory(at: url, withIntermediateDirectories: true, attributes: nil)
let fileCoordinator = NSFileCoordinator()
var error: NSError?
fileCoordinator.coordinate(readingItemAt: url, options: .withoutChanges, error: &error) { url in
if let urls = try? FileManager.default.contentsOfDirectory(at: url, includingPropertiesForKeys: [.canonicalPathKey], options: []) {
for u in urls {
print("\(u.standardizedFileURL)")
}
}
}
}