iCloud键值数据存储设计
iCloud键值数据存储编程实例,画面中有两个开关控件,左图是设备1点击“设置iCloud数据”按钮,将控件状态保存到iCloud服务器。右图是设备2画面,过几秒钟后设备2收到变更通知。
配置Xcode工程
使用Xcode创建一个iOS工程,工程创建好之后,选择TAGETS→MyNotes→Summary→Entitlements,我们可以在这里配置授权信息。
然后我们还需要应用设置代码签名标识,代码签名标识需要选择这个配置概要文件的。选择TAGETS→MyNotes→Code Signing Identity
设置完成之后可以开始编码工作了。
代码实现
首先是需要注册NSUbiquitousKeyValueStoreDidChangeExternallyNotification通知,并同步数据,代码参考ViewController.m的viewDidLoad方法:
- (void)viewDidLoad { [super viewDidLoad]; NSUbiquitousKeyValueStore* store = [NSUbiquitousKeyValueStore defaultStore]; ① [[NSNotificationCenter defaultCenter] ② addObserverForName: NSUbiquitousKeyValueStoreDidChangeExternallyNotification object:store queue:nil usingBlock:^(NSNotification *note) { ③ //更新控件状态 [_switchSound setOn:[store boolForKey:UbiquitousSoundKey]]; ④ [_switchMusic setOn:[store boolForKey:UbiquitousMusicKey]]; ⑤ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”iCloud变更通知” message:@”你的iCloud存储数据已经变更” delegate:nil cancelButtonTitle:@”Ok” otherButtonTitles:nil, nil]; [alert show]; }]; [store synchronize]; ⑥ //初始化控件状态 [_switchSound setOn:[store boolForKey:UbiquitousSoundKey]]; ⑦ [_switchMusic setOn:[store boolForKey:UbiquitousMusicKey]]; ⑧ }
保存数据到iCloud存储,代码ViewController.m的setData:方法:
- (IBAction)setData:(id)sender { NSUbiquitousKeyValueStore* store = [NSUbiquitousKeyValueStore defaultStore]; //存储到iCloud [store setBool:_switchSound.isOn forKey:UbiquitousSoundKey]; [store setBool:_switchMusic.isOn forKey:UbiquitousMusicKey]; [store synchronize]; }
因为是BOOL值所以存储使用的方法是setBool:forKey:。最后不要忘记解除注册的通知,在视图控制器中解除通知可以在didReceiveMemoryWarning方法中完成:
- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; [[NSNotificationCenter defaultCenter] removeObserver:self]; }
由于本应用中只有一个通知,因此可以使用[[NSNotificationCenter defaultCenter] removeObserver:self]语句解除全部通知,而不影响其它的通知,如果还有其它的通知我们要慎用这个语句。
编程完成代码我们可以测试一下,这个应用的测试很麻烦,需要两个真实设备而不能在模拟器上进行。运行两个设备,点击其中一个设备的“设置iCloud数据”按钮,过几秒钟后另外一个设备收到变更通知。
出自《iOS网络编程与云端应用最佳实践》作者:关东升 新浪微博@tony_关东升
相关推荐
在iOS开发中,iCloud是一种云存储服务,允许开发者将用户的数据存储在云端,并在用户的各个设备间同步。iCloudKit是苹果提供的框架,使得开发者可以轻松地在应用中集成iCloud功能。通过这个源码,我们可以学习到: ...
在iOS开发中,iCloud是一项强大的云存储服务,它允许开发者将用户的数据同步到苹果的云端,以便在多个设备间无缝地共享和访问。这个压缩包"【应用】-iCloud代码示例.rar"提供了iOS应用中使用iCloud功能的具体代码...
【应用】★★★★-iCloud代码示例.zipIOS应用例子源码下载【应用】★★★★-iCloud代码示例.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
《iOS网络编程与云端应用》是一本深入探讨iOS平台网络编程和云端应用开发的专业书籍,由关东升撰写。本书旨在帮助iOS开发者掌握网络通信的基本原理和实践技巧,以及如何利用云端服务提升应用的功能和用户体验。 一...
CoreData 是苹果公司提供的一种数据管理框架,用于iOS和macOS应用中存储、管理和检索对象。它是Objective-C和Swift开发者处理复杂数据模型的强大工具。在iOS应用中,使用CoreData可以方便地创建、修改和查询数据库,...
iOS 5引入了iCloud服务,开发者可以通过iCloudKit API将用户数据同步到云端,实现跨设备的数据共享和备份。 通过分析这个项目源代码,你可以深入学习上述技术,并了解如何在实际项目中应用它们。实践是最好的老师...
此外,还需要在Info.plist文件中配置相应的iCloud键值对存储选项。 在实现iCloud功能时,我们通常会遇到几个关键步骤。首先,要初始化CloudKit容器并设置代理,以便接收数据同步和更改的通知。然后,创建CKRecord...
总的来说,Laravel的iCloud集成让开发者能够方便地在云端存储文件,提供了灵活性和可扩展性,使得大型项目的数据管理变得更加高效和安全。通过理解和实践这些知识点,你可以更好地利用Laravel框架来构建支持云上传的...
其中,端到端加密确保了数据在传输和存储过程中的安全,而 Circle of Trust 则确保了只有信任的设备可以访问用户的数据。两步验证则提供了额外的一层保护,防止攻击者通过 stole 的 Apple ID 密码来访问用户的数据。...
《iOS网络编程与云端应用最佳实践》是介绍iOS 6网络编程和云端应用开发技术书籍,介绍了苹果网络、数据交换格式、WebService、iCloud、定位服务、地图、推送通知、Newsstand、应用内购买、Passbook、以及社交网络...
react-native-icloud-sync 用于与icloud同步的React-native包装器。 将其添加到您的项目 运行npm install react-native-icloud-sync --save 在XCode中打开您的项目,右键单击Libraries ,然后单击Add Files to ...
在iOS开发中,iCloud是苹果提供的一种云存储服务,允许用户在不同设备间同步数据。然而,在某些情况下,开发者可能需要阻止特定的文件或目录同步到iCloud,以保护用户的隐私、避免数据泄露或是优化应用程序性能。...
《清华开发者书库:iOS网络编程与云端应用最佳实践》是介绍iOS 6网络编程和云端应用开发技术书籍,介绍了苹果网络、数据交换格式、Web Service、iCloud、定位服务、地图、推送通知、Newsstand、应用内购买、Passbook...
iCloud 是苹果公司推出的云服务解决方案,允许用户存储数据并跨设备同步这些数据。在 iOS 5 中,iCloud 的集成变得更加深入,为开发者提供了更多利用云服务的功能和选项。 #### 三、iCloud 的关键技术 - **文档同步...
NSUbiquitousKeyValueStore 是一个轻量级的 API,适用于存储小量键值对数据的同步。在这个项目中,它可能用于存储任务的基本信息,如任务标题和完成状态。而 UIDocument 或 Core Data 则更适合存储结构化数据,如...
nosync-icloud 避免 iCloud 同步 node_modules(Avoid syncing node_modules to iCloud)。 安装 npm i -g nosync-icloud # or yarn global add nosync-icloud 我要解决什么痛点? 很多开发者都在使用 Mac ...
iOS网络编程是iOS应用开发中非常重要的一个环节,尤其是在涉及到云端应用时,网络编程成为了数据交换、获取云端数据、推送通知等功能实现的基础。在iOS开发中,使用网络编程技术可以实现各种各样的功能,例如与苹果...
Swift编程在iOS应用开发中扮演着至关重要的...总之,Swift编程-iOS应用-沙盒模型的学习不仅关乎技术实践,更关乎用户隐私保护和应用安全性的意识。理解并掌握沙盒模型,能让你的iOS应用更加专业且符合苹果的开发规范。
基础 -iCloud键值BuildInfo,时区,摄像头许可,音频会话, 游戏套件 -身份验证,游戏中心用户界面,排行榜,成就,保存游戏。 商店工具包 -初始化,购买流程,收货确认,商店评论控制器。 UIKit-日期时间选择器...
iOS网络编程与云端应用最佳实践随书代码,系统论述了iOS 6网络编程和云端应用开发技术,介绍了苹果网络、数据交换格式、Web Service、iCloud、定位服务、地图、推送通知、Newsstand、应用内购买、Passbook、社交网络...