Zephyr 3.8.0

Zephyr 3.8.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布时间最新版本2024年3月
SPM支持SPM

Arthur Ariel Sabintsev维护。



Zephyr 3.8.0

  • 作者
  • Arthur Ariel Sabintsev

Zephyr🌬️

轻松在iCloud上同步UserDefaults

Swift Support Platform CocoaPods SwiftPM Compatible


关于

Zephyr使用NSUbiquitousKeyValueStore通过iCloud同步您特定的keys和/或所有UserDefaults

Zephyr自带监控功能,这使得它可以在后台同步更改时的特定keys。

有关最新更新,请参阅版本标签。

特性

  • CocoaPods和SwiftPM支持
  • 同步特定的UserDefaultskeys或全部的UserDefaults
  • 背景监控和UserDefaultsNSUbiquitousKeyValueStore之间的同步
  • 详细日志

安装说明

Swift版本 分支名称 是否将继续接收更新?
5.1+ master 是的
5.0 swift5.0
4.2 swift4.2
4.1 swift4.1
3.2 swift3.2
3.1 swift3.1

CocoaPods

pod 'Zephyr' # Swift 5.1+
pod 'Zephyr', :git => 'https://github.com/ArtSabintsev/Zephyr.git', :branch => 'swift5.0' # Swift 5.0
pod 'Zephyr', :git => 'https://github.com/ArtSabintsev/Zephyr.git', :branch => 'swift4.2' # Swift 4.2
pod 'Zephyr', :git => 'https://github.com/ArtSabintsev/Zephyr.git', :branch => 'swift4.1' # Swift 4.1
pod 'Zephyr', :git => 'https://github.com/ArtSabintsev/Zephyr.git', :branch => 'swift3.2' # Swift 3.2
pod 'Zephyr', :git => 'https://github.com/ArtSabintsev/Zephyr.git', :branch => 'swift3.1' # Swift 3.1

Swift包管理器

.Package(url: "https://github.com/ArtSabintsev/Zephyr.git", majorVersion: 3)

手动安装

  1. 下载Zephyr
  2. Zephyr.swift复制到您的项目中。

设置

在Xcode中开启iCloud同步

在Xcode中打开您的app项目/工作空间文件

  • 点击您的项目
  • 点击您的目标之一
  • 点击功能
  • 开启iCloud同步
  • 在服务下,确保选中键值存储
  • (如果有必要)对所有目标重复以上步骤

How to turn on iCloud Key Value Store Syncing

将 Zephyr 集成到您的应用中

在每次同步之前,Zephyr 会自动检查 UserDefaults 或 NSUbiquitousKeyValueStore 中的数据是否更新。为确保在新设备上进行的新应用安装并且连接到相同的 iCloud 账户时没有覆盖数据,请确保在调用 Zephyr 方法之前注册了您的UserDefaults。实现这一目标的一种简单方法是使用 UserDefaults 注册 API

同步所有 UserDefaults

Zephyr.sync()

同步特定的键或键(可变参数选项)

Zephyr.sync(keys: "MyFirstKey", "MySecondKey", ...)

同步特定的键或键(数组选项)

Zephyr.sync(keys: ["MyFirstKey", "MySecondKey"])

为后台监控添加/删除键(可变参数选项)

Zephyr.addKeysToBeMonitored(keys: "MyFirstKey", "MySecondKey", ...)
Zephyr.removeKeysFromBeingMonitored(keys: "MyFirstKey", "MySecondKey", ...)

为后台监控添加/删除键(数组选项)

Zephyr.addKeysToBeMonitored(keys: ["MyFirstKey", "MySecondKey"])
Zephyr.removeKeysFromBeingMonitored(keys: ["MyFirstKey", "MySecondKey"])

切换 NSUbiquitousKeyValueStore 的同步方法的自动调用

Zephyr.syncUbiquitousKeyValueStoreOnChange = true // Default
Zephyr.syncUbiquitousKeyValueStoreOnChange = false // Turns off instantaneous synchronization

调试日志

Zephyr.debugEnabled = true // Must be called before sync(_:)
Zephyr.sync()

示例应用

请忽略示例应用,因为我没有在示例应用中添加任何示例代码。它只是在这个存储库中以支持 Carthage。

创建和维护者

Arthur Ariel Sabintsev