gpt4 book ai didi

ios - 如何创建一个单独的 NSUserDefaults(标准除外)- 不跨扩展共享?

转载 作者:行者123 更新时间:2023-11-29 13:51:44 26 4
gpt4 key购买 nike

我在开发一个写入 NSUserDefaults 的 SDK。有时,客户端的主机应用程序会批量删除标准的 NSUserDefaults,从而践踏 SDK 数据。解决方案似乎是不使用“标准”用户默认值。看来您可以使用构造函数 init(suiteName:) ,但我在其他地方读到,如果您创建这样的实例,它将在主机可能激活的某些条件下跨应用程序扩展共享(我的 SDK 将不知道)。如果它们在应用程序扩展中运行,我需要将它们彼此分开,但更改 key 名称或套件名称不是一个好的选择,因为 SDK 本质上不知道它在哪个位置运行. 有没有办法创建一个行为类似于标准但不是标准的用户默认实例?

最佳答案

应用扩展有不同的包 ID。因此,您可以使用包 ID 作为 suiteName 的前缀。

Bundle.main.bundleIdentifier 将为您提供当前可执行文件的包 ID。

关于ios - 如何创建一个单独的 NSUserDefaults(标准除外)- 不跨扩展共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59417177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com