我从里面测试过
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") }...
对我来说,看起来扩展程序有自己的SandBox和自己的文档文件夹.
该应用程序使用文件夹’Application’,而扩展名使用文件夹’PluginKitPlugin’,都在’/ var / mobile / Containers / Data /’中.
更新:似乎无法访问应用程序沙箱容器.
解决方法 从App Extension编程指南,App Extension可以使用应用程序组 Sharing Data with Your Containing App.读:
if let defaults = UserDefaults(suitename: "my.app.group") { if let value = defaults.value(forKey: "key") { NSLog("\(value)") }}
写:
if let defaults = UserDefaults(suitename: "my.app.group") { defaults.set("value",forKey: "key")}
也
> MMWormhole:iOS应用和扩展之间的消息传递.
> Wormhole:iOS应用程序和扩展程序之间传递消息的更优雅方式.
以上是内存溢出为你收集整理的iOS:如何从其UNNotificationServiceExtension中获取应用程序的已保存数据?全部内容,希望文章能够帮你解决iOS:如何从其UNNotificationServiceExtension中获取应用程序的已保存数据?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)