微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS 14小部件UserDefaultssuiteName :)无法正常工作

如何解决iOS 14小部件UserDefaultssuiteName :)无法正常工作

Xcode 12.0(12A7208) MacOS 10.15.6(19G2021)

  1. 创建一个新的SwiftUI项目。
  2. 添加功能应用组。
  3. 创建一个新的Target Widget Extension,添加Capability App Groups。
  4. 在主应用中,使用UserDefaults(suiteName:).set保存Int数据。
  5. 在Widget中,在getTimeline(for:in:completion:)函数下仅调用UserDefaults(suiteName:).value,无法获取Int数据。但是在Main App中可以。

suiteNamegroup.开头,在Widget和Main App中相同。

很困惑...

解决方法

对于以后的读者,我发现了这个错误-“代码签名错误-验证CODE_SIGN_ENTITLEMENTS的值”,该错误的位置非常明显。

要解决:

  1. 转到您的新目标
  2. 转到构建设置
  3. 转到“签名”部分。确保已将.entitlement文件分配给Release和Debug。权利文件应该已经在您的文件夹结构中自动创建了。您只需要确保正确的路径即可。 “ Widget / WidgetExtension.entitlement”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。