Есть ли способ получить данные, сохраненные в песочнице приложения iOS, внутри его экземпляра Notification-Service-Extension? Я хочу захватить некоторые данные из базы данных, прежде чем передать передатчик.iOS: Как получить сохраненные данные приложения изнутри UNNotificationServiceExtension?
Я проверил внутри моего
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
...
print("NotificationService didReceive UNNotificationRequest, contentHandler: \(contentHandler)")
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let filePath = "\(documentsPath)/Database.db"
print(" documentsPath: \(filePath)")
let fileManager = FileManager.default
var isDir : ObjCBool = false
if fileManager.fileExists(atPath: filePath, isDirectory:&isDir) {
if isDir.boolValue {
print(" file exists and is a directory")
} else {
print(" file exists and is a NOT a directory")
}
} else {
print("file does not exist")
}...
и для меня это выглядит как расширение имеет свою собственную Песочницу с его папкой собственных документов.
Приложение использует папку «Приложение», в то время как расширение использует папку «PluginKitPlugin», как внутри «/ var/mobile/Containers/Data /».
ОБНОВЛЕНИЕ: Похоже, что доступ к контейнеру для песочных приложений невозможен.
это интересно спасибо. но когда я хочу получить доступ к моей базе данных приложений, мне нужно будет скопировать ее в общий контейнер - не то решение, которое я бы предпочел. но очень интересно. – headkit
поэтому, когда вы редактируете свой ответ и добавляете «невозможно», я могу просто отметить его как принятый. – headkit