iOS网络编程入门:iCloud文档存储编程实例

iCloud文档存储编程相对键值数据存储而言比较复杂,涉及到自定义文档类、获得iCloud文档目录、查找Ubiquity容器中的文档、保存文档和解决文档冲突等内容。

实例:iCloud文档存储编程设计

实例介绍一下iCloud文档存储编程过程,画面中有一个文本框和一个按钮控件,在设备1输入内容,点击“保存数据”按钮,将数据保存iCloud服务器。右图是设备2画面,过几秒钟后设备2上会读取iCloud服务器端数据,并显示在文本框中。

配置Xcode工程

编写iCloud文档存储编应用程序也需要在Xcode工程中进行一些配置,选择TAGETS→MyNotes→Summary→Entitlements

在图中Ubiquity Contrainers添加com.51work6.MyNotes,这是Ubiquity容器标识,可以有多个Ubiquity容器标识,这个容器标识代表着不同的目录。com.51work6.MyNotes代表目录如下所示:

/var/mobile/Library/Mobile Documents/98Z3R5XU29~com~51work6~MyNotes/

其中的98Z3R5XU29是在iOS开发者配置门户网站创建App ID时候生成的,它被称为Team ID。

如果应用中没有使用iCloud键值数据存储key-Value Store可以不用配置。

自定义文档类

我 们需要自己封装一个文档类,它继承抽象类UIDocument,而UIDocument实现NSFilePresenter协议。实现 NSFilePresenter协议的类,它所代表的文件和目录可以被查看和编辑,这些NSFilePresenter实现类与文件协调者类 NSFileCoordinator结合使用,可以协调管理文件或目录。

这个类我们命名为MyCloudDocument, MyCloudDocument的代码如下:

#import <UIKit/UIKit.h> 

@interface MyCloudDocument : UIDocument ① 

@property (strong, nonatomic) NSString *contents; 

@end 

#import ”MyCloudDocument.h” 

@implementation MyCloudDocument 

//加载数据 

- (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError **)outError ② 

{ 

if ([contents length] > 0) 

{ 

self.contents = [[NSString alloc] initWithData:contents encoding:NSUTF8StringEncoding]; ③ 

} 

return YES; 

} 

//保存数据 

- (id)contentsForType:(NSString *)typeName error:(NSError **)outError ④ 

{ 

return [self.contents dataUsingEncoding:NSUTF8StringEncoding];  ⑤ 

} 

@end

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文档
, 目录
, 存储
, 容器
, icloud
, contents
, iOS获取设备标识
, 存储类
配置容器网络
,以便于您获取更多的相关知识。

时间: 2024-10-03 15:01:16

iOS网络编程入门:iCloud文档存储编程实例的相关文章

iOS网络编程-iCloud文档存储编程实例

iCloud文档存储编程相对键值数据存储而言比较复杂,涉及到自定义文档类.获得iCloud文档目录.查找Ubiquity容器中的文档.保存文档和解决文档冲突等内容. 实例:iCloud文档存储编程设计 实例介绍一下iCloud文档存储编程过程,画面中有一个文本框和一个按钮控件,在设备1输入内容,点击"保存数据"按钮,将数据保存iCloud服务器.右图是设备2画面,过几秒钟后设备2上会读取iCloud服务器端数据,并显示在文本框中. 配置Xcode工程 编写iCloud文档存储编应用程序

iOS网络编程-解决iCloud文档存储过程中文档冲突问题

iCloud文档在保存的过程中难免会发生冲突,我们必须要有一套解决冲突的策略.策略的采用要根据用户的需求而定,有的简单有的复杂,最简单的是直接使用当前版本覆盖冲突版本.复杂的策略,例如:如果是两个文本文件冲突,可以将两个冲突点列出来,让用户来判断再进行保存. 我们采用的策略是使用当前版本覆盖以前的版本.解决冲突首先需要在updateUbiquitousDocuments:方法中注册UIDocumentStateChangedNotification通知: //当iCloud中的文件变化时候调用

如何关闭 iCloud 文档存储?

  自从 10.8 系统用上 iCloud 后,共享数据真是方便极了,但是在 OS X上每次保存文档的时候都是默认保存在 iCloud 这块云上,如何关闭 iCloud 文件存储呢? 1.首先打开"系统偏好设置"(在应用程序中) 2.点击"iCloud"图标. 3.去掉"文稿与数据"前面的勾. 云存储"> 现在你再也看不见iCloud的文件存储了.

iOS网络编程入门:解决iCloud文档存储过程中文档冲突问题

iCloud文档在保存的过程中难免会发生冲突,我们必须要有一套解决冲突的策略.策略的采用要根据用户的需求而定,有的简单有的复杂,最简单的是 直接使用当前版本覆盖冲突版本.复杂的策略,例如:如果是两个文本文件冲突,可以将两个冲突点列出来,让用户来判断再进行保存. 我们采用的策略是使用当前版本覆盖以前的版本.解决冲突首先需要在updateUbiquitousDocuments:方法中注册UIDocumentStateChangedNotification通知: //当iCloud中的文件变化时候调用

从Mac的Finder中访问你的iCloud文档

 文档-mac finder icloud"> 从OS X10.7.2开始,iCloud就深入Mac当中,我们也可以在Finder中访问储存在iCloud中的文件,甚至当你拥有多台Mac的时候你还可以利用这些隐藏文件夹来进行文件同步.而iOS与OS X也是可以配合iCloud同步,相信iCloud未来还会开放更多的功能. 当你是OS X Lion 10.7.2以及之后的10.7版本,还有 Mountain Lion,用户的话,你只需配置好iCloud账户,即可通过下面的方法通过Finder

iOS UIKit 框架 346 篇文档分类整理 - 预告

iOS UIKit 框架 346 篇文档分类整理 - 预告 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 当前正在进行的是 "iOS Foundation 框架 224 篇相关文档分

调查显示40%的管理员使用Word文档存储密码

据最近的一项安全调查研究显示,40%的管理员使用Word文档存储密码.这项调查研究对象是大约750名 IT管理员和决策者.受访者中,79%的人确信他们已经吸取了重大网络攻击的教训,但是,只有67%的受访者认为公司有强有力的安全反应机制和领导,57%的受访者表示,他们觉得公司在安全方面有点令人担心. 根据这项研究显示,40%的受访者表示,他们会使用微软的Word文档或电子表格存储各种访问级别的密码和管理密码.另有28%的受访者使用共享服务器或U盘.此外,近一半的受访者承认,他们允许第三方供应商访问

C#编程实现Excel文档中搜索文本

excel|编程 有了在Word文档中编程实现搜索文本的经验,在Excel中实现这个功能也并非难事. 打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Application.Workbooks.Workbook.Worksheets还有Worksheet和Range.Application创建Excel应用,Workbooks打开Excel文档,Workbook获得Excel文档工作薄,Worksheets操作工作表集合,Worksheet获得单

C#编程实现Excel文档中搜索文本内容的方法及思路

有了在Word文档中编程实现搜索文本的经验,在Excel中实现这个功能也并非难事.   打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Application.Workbooks. Workbook.Worksheets还有Worksheet和Range.Application创建Excel应用,Workbooks打开 Excel文档,Workbook获得Excel文档工作薄,Worksheets操作工作表集合,Worksheet获得单个工作表.