我想在 app 和 widget 之间通信,遂创建了 App Groups
通过以下代码向容器写入数据
UserDefaults(suiteName: AppConfig.appGroupName)!.set(newValue, forKey: "some Data Key")
再通过以下代码获取数据
UserDefaults(suiteName: AppConfig.appGroupName)!.string(forKey: "some Data Key") ?? "nil"
虽然以上代码正常运行,但是在真机上 debug 环境的时候老是抛出以下警告信息
2022-07-17 00:07:45.204039+0800 MyAPP[13503:1219072] [User Defaults] Couldn't read values in CFPrefsPlistSource<0x2804ea800> (Domain: group.myGropName, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
无法确认这是什么问题,网上搜了一圈也没找到,所以来这里求救
1
StevenRCE0 2022-07-17 01:12:40 +08:00
检查一下 group 名字是不是对应。这有一个相关问题的串: https://stackoverflow.com/questions/38275395/failed-to-read-values-in-cfprefsplistsource-ios-10
我也遇到过这个问题,忘了有没有修,反正最后去用 CoreData 和 transaction 做数据同步了…… |
2
ChrisFreeMan OP @StevenRCE0 明天再试试,不行我也考虑换一种更靠谱的同步方式
|
3
ChrisFreeMan OP @StevenRCE0 嗷对了,感谢回复
|
4
StevenRCE0 2022-07-17 02:01:23 +08:00
@ChrisFreeMan 阿果真的应该更新一下相关 API 了 xD
|
5
uclort 2022-07-17 14:08:07 +08:00 via iPhone
这个提示忽略就行了,存在长久了,老毛病,不影响真实使用。
|
6
ChrisFreeMan OP @uclort swiftUI 这种推荐忽略的错误好多啊,强迫症看了都怕,又难受,又不知道会不会有什么坑
|