IntentHandler 无法读取 UserDefaults 但 Timeline 可以

IntentHandler can’t read UserDefaults but Timeline can

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

我可以在我的应用程序和小部件扩展之间正常读写,但是 IntentHandler.swift 中的 UserDefaults 总是 return nil,这可能是什么原因造成的?

// called from TimelineProvider
func example() -> String {

let sharedDefaults = UserDefaults.init(suiteName: "group.myname")
  let value = sharedDefaults!.value(forKey: "myKey") as! String
// value == “Hi this works!”
}

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

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