UserDefaults(suitename:) 有问题

Trouble with UserDefaults(suitename:)

我正在编写一个包含消息扩展的 iOS 应用程序。为了在它们之间共享数据,我创建了一个应用程序组,其密钥类似于“group.com.myCompany.myApp”。该应用程序使用 userDefaults.set(:forKey:) 存储字符串数组。然后应用程序可以获取或修改数组,扩展可以获取(但不能修改)数组。

应用程序和扩展程序都在使用 UserDefaults(suiteName:) 访问 UserDefaults。应用程序和扩展程序都使用相同的套件名称值。

我遇到的问题是,这在模拟器中工作得很好,但在 phone 上,扩展程序看不到字符串数组。我完全不知所措。

这是权利!

早些时候,为了回应已被删除的 post,我写道“据我所知,权利文件是正确的。”当我写下一个灯泡在我脑海中熄灭时:“缺少应用程序组权利,这就是它在模拟器中而不是在 phone 上工作的原因!”

我没有意识到必须为 Debug Release 版本单独指定权利,而且我没有为 Release 版本指定它们。添加它可以解决问题。