IntentHandler 无法读取 UserDefaults,但 Timeline 可以

Kip*_*els 2 swift widgetkit userdefaults

当用户更改小部件的配置时,我想读取 UserDefaults,因此我创建了一个应用程序组并将功能添加到我的主应用程序、小部件扩展和 Intent 扩展中。

\n

我可以在我的应用程序和小部件扩展之间很好地读写,但是 UserDefaults 总是nil在 IntentHandler.swift 中返回,这可能是什么原因导致的?

\n
// called from TimelineProvider\nfunc example() -> String {\n\nlet sharedDefaults = UserDefaults.init(suiteName: "group.myname")\n  let value = sharedDefaults!.value(forKey: "myKey") as! String\n// value == \xe2\x80\x9cHi this works!\xe2\x80\x9d\n}\n
Run Code Online (Sandbox Code Playgroud)\n

但是当我example()从 IntentHandler 调用时,值是nil. (它崩溃了)

\n

Kip*_*els 5

正如 EmilioPelaez 评论的那样,请仔细检查功能(即使您已经这样做了,我也没有注意到这一点)。我的应用程序组仅启用了发布模式,而不是调试模式。应该早点注意到这一点...