gpt4 book ai didi

ios - 使用 iOS 8 应用程序组在两个应用程序之间共享数据(使用 NSUserDefaults)

转载 作者:IT王子 更新时间:2023-10-29 05:23:49 27 4
gpt4 key购买 nike

我想知道我们是否可以使用新的 iOS 8 功能在应用程序之间共享数据:应用程序组(使用 NSUserDefaults)——或者如果应用程序组仅在主应用程序及其扩展程序之间共享数据?

我实际上在应该在它们之间共享数据的两个应用程序上启用了应用程序组功能(它们属于同一家公司)。他们也有相同的应用程序组(如 group.com.company.myApp)。

这是第一个的代码(在 Swift 中)

    NSUserDefaults.standardUserDefaults().setBool(true, forKey:"Bool")
NSUserDefaults.standardUserDefaults().synchronize()

这是第二个代码(在 Objective-C 中)

    NSUserDefaults *datas = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.company.myApp"];
NSLog(@"%@", [datas boolForKey:@"Bool"]);

遗憾的是,Bool 总是返回 nil。

如果有人有解决方案:)

谢谢

最佳答案

查看 Apple 开发者论坛上的这个帖子: https://devforums.apple.com/message/977151#977151

我相信这两个实例都需要使用组 ID(使用 initWithSuiteName: 初始化),否则它们正在读取/写入不同的用户默认设置。

因此您的 Swift 代码将更改为:

var userDefaults = NSUserDefaults(suiteName: "group.com.company.myApp")
userDefaults.setBool(true, forKey: "Bool")
userDefaults.synchronize()

关于ios - 使用 iOS 8 应用程序组在两个应用程序之间共享数据(使用 NSUserDefaults),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24387871/

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