在我今天解锁设备的扩展中,这行代码按预期工作,从图像路径返回数据:
let imageData = NSData(contentsOfFile: path)
但是,当我的设备被密码锁定时,它返回 nil。当设备被锁定时,有什么方法可以访问文件系统中的图像?我可以很好地访问 UserDefaults,但不能访问我的共享组目录中的文件。这是我创建路径的方法,调用imagePath
,在这两种情况下都正确填充了我期望的路径:
func rootFilePath() -> String? {
let manager = NSFileManager()
let containerURL = manager.containerURLForSecurityApplicationGroupIdentifier(GROUP_ID)
if let unwrappedURL = containerURL {
return unwrappedURL.path
}
else {
return nil
}
}
func imagePath() -> String? {
let rootPath = rootFilePath()
if let uPath = rootPath {
return "\(uPath)/\(imageId).png"
}
else {
return nil
}
}