iOS 11中通过App Groups共享用户默认设置无法正常工作

3

有人在iOS 11上通过应用程序组共享用户默认设置遇到问题吗?我在其中一个扩展中保存了一个值,但我无法通过另一个扩展获取相同的值。

在第一个扩展中:

let defaults = UserDefaults.init(suiteName: Constants.commonSuite)
defaults.set("Sample", forKey: "SampleKey")
defaults.synchronize()

在第二个扩展中:
let defaults = UserDefaults.init(suiteName: Constants.commonSuite)
let sampleString = defaults.object(forKey: "SampleKey")
print(sampleString)

有趣的是,这个东西在iOS 10上运行良好。但在iOS 11上会出现问题。


嘿@mayuur,我遇到了完全相同的问题,但一直没有找到解决方法。我已经在我的操作扩展和主应用程序中启用了App组。但是,我仍然在控制台中收到标准错误,并且无法访问值。即使尝试访问键也会返回nil。 - Karthik Kannan
我不知道你是否已经找到了解决方案,但是这个答案及其评论似乎通过创建一个新的共享容器取得了成功。尽管它与iOS11之前的版本有关,但也值得一试。 - Chris
1个回答

0

我曾经遇到过同样的问题。

Suitename 需要与您的应用程序组名称相同,而不是任意值。

希望这可以帮助到您!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接