gpt4 book ai didi

ios - 在设备之间共享数据(Swift)

转载 作者:行者123 更新时间:2023-11-29 01:50:19 27 4
gpt4 key购买 nike

我正在使用 Swift 尝试在多个 Apple 设备之间共享一个字符串。它在所有设备(iPad、iPhone 和 Mac)上都是相同的应用程序,但我正在尝试获取它,以便我可以在所有设备上拥有该字符串并在其更改时更新它,因此基本上“同步”该字符串。

我现在正在尝试使用 NSUserDefaults 来完成此操作,并将其保存到列表中,然后在应用程序启动时检索它,但我遇到了一些麻烦,因为我遵循的代码位于 Objective-C 中,并且我是不擅长翻译代码。我已将代码放在下面,以便您可以翻译它。

代码:

//On one device:
NSDictionary *dict = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];

//on the other:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
for (NSString *key in dictionaryRepresentation.allKeys) {
id ob = dictionaryRepresentation[key];
[defaults setObject:ob forKey:key];
}

如果您无法翻译它,您是否有使用 Swift 在多个设备之间免费同步字符串的更好方法?

提前致谢!

最佳答案

NSUserDefaults 不会跨设备共享。它对于应用程序的每个副本都是本地的。您可以按照 @bobnoble 在其评论中的建议将 NSUbiquitousKeyValueStore 与 iCloud 结合使用,但这可能需要 10 秒到几分钟的时间来传播。

如果您希望速度更快,我建议您在应用程序之间设置 BLE(低功耗蓝牙)链接。发送设备将发送 BLE“广告”,接收设备将监听该广告。这会很快,但仅限于 BLE 范围。

请注意,编写 BLE 是相当低级的事情。

关于ios - 在设备之间共享数据(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31491026/

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