将 .plist 文件与 iCloud 同步

2023-12-20

我正在尝试弄清楚如何同步 Mac 沙盒应用程序中“应用程序支持”文件夹中的 .plist 文件。我知道我可以使用 iCloud 键值存储,但每个应用程序有 64KB 的限制,这可能会或可能不会达到,具体取决于用户向应用程序添加了多少内容!

我已经阅读了尽可能多的苹果文档,但我仍然很困惑:(

有人做过类似的事情吗?

Thanks


你应该创建一个子类UIDocument并将其与无处不在的目录一起使用。

有 2 个方法负责处理读/写。阅读时会调用这个:

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

写的时候还有这个:

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

所有打开/保存操作都会自动调用,您无需执行任何操作。但是,有一些方法可以强制打开/保存。打开时调用:

- (void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler

/* --- EXAMPLE --- */

MyDocument *doc = [[MyDocument alloc] initWithFileURL:ubiquitousFileURL];
[doc openWithCompletionHandler:^(BOOL success) {
    if (success) {
        // do sth
    } else {
        // handle error
    }
}];

...保存时是这样的:

- (void)saveToURL:(NSURL *)url forSaveOperation:(UIDocumentSaveOperation)saveOperation completionHandler:(void (^)(BOOL success))completionHandler

/* --- EXAMPLE --- */

MyDocument *doc = [[MyDocument alloc] initWithFileURL:ubiquitousPackage];

[doc saveToURL:[doc fileURL] forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
    if (success) {
        // do sth
    } else {
        // handle error
    }
}];

网上有很多教程,下面是我用来学习的一些例子:

  • 在 iOS 5 中开始使用 iCloud 教程第 1 部分 http://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial-part-1
  • 在 iOS 5 中开始使用 iCloud 教程第 2 部分 http://www.raywenderlich.com/6031/beginning-icloud-in-ios-5-tutorial-part-2

UIDocument类参考 http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDocument_Class/UIDocument/UIDocument.html也可能有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 .plist 文件与 iCloud 同步 的相关文章

  • 我可以使用哪些命令行工具来获取每个平台上当前活动的应用程序/窗口?

    我正在尝试创建一个 AIR 应用程序来记录应用程序的使用情况 使用 AIR 从系统获取信息的唯一简单方法是使用命令行工具和抓取stdout 我知道类似的工具top and ps对于 OS X 但它们似乎都没有告诉我哪个应用程序 窗口是活动的
  • 如何检查dispatch_async块是否已完成运行

    所以基本上我需要能够在块完成运行后运行 segue 我有一个块可以执行一些 JSON 操作 我需要知道它何时完成运行 我有一个队列 我称之为 json queue jsonQueue dispatch queue create com ja
  • iPhone 编程游戏

    使用 Objective C 还是 C 为 iPhone 编写游戏最好 像 Flight Control 这样的游戏会用什么语言编写 图形应采用什么格式才能在 iPhone 上正确显示并快速加载 像 Flight Control 这样的游戏
  • NSString cString 已弃用。还有什么选择呢?

    我还有一个新手问题 我编写了一段代码 将 NSString 转换为 NSMutableData 以模拟 webService 结果 然而事实证明 cString 已被弃用 你能帮我更换它吗 这是我的代码 NSString testXMLDa
  • 如何在iPhone应用程序中创建折线图? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何显示从 xib 加载的工作表? (MacOSx)

    我有一个 xib 文件 其中只有一个 NSPanel 我试图将此面板显示为模式表 带有beginSheet modalForWindow modalDelegate didEndSelector contextInfo 该 xib 文件的所
  • Objective-C 2.0中的多线程问题

    我有我的主应用程序委托 其中包含一个返回对象的方法 该应用程序委托在主线程上运行 我还有一个在不同线程上运行的 NSOperation 除了希望有时能够在主线程上调用我的应用程序委托方法之外 我还需要从 NSOperation 线程中调用它
  • 为 CocoaPods 插件设置 Xcode

    我正在尝试设置终端 Xcode 以便正确工作Xcode CocoaPods 插件 https github com kattrali cocoapods xcode plugin 当我从插件运行集成 cocoapods 选项时 我收到一条消
  • iPhone/iPad 应用程序介绍

    我的应用程序的 iPhone 版本支持UIDeviceOrientationPortraitUpsideDown and UIDeviceOrientationPortrait 但 iPad 版本支持所有方向 在我的视图控制器中我有这个 B
  • 使用 Swift 导入 aurioTouch 库

    我正在尝试将 Objective C 应用程序转换为 swift 我想导入课程奥里奥触摸 https developer apple com library ios samplecode aurioTouch Introduction In
  • 安装 gem 失败并出现权限错误[重复]

    这个问题在这里已经有答案了 我昨天将 Mac 操作系统更新至 10 9 Mavericks 我当前的 Ruby 版本显示为 ruby 2 0 0p247 2013 06 27 修订版 41674 universal x86 64 darwi
  • 如何使用 NSUndoManager 支持替换 UITextView 中的文本?

    我希望能够以编程方式替换 UITextView 中的某些文本 因此我将此方法编写为 UITextView 类别 void replaceCharactersInRange NSRange range withString NSString
  • 使用 NSPredicate 来检测 NOT CONTAINS

    我放弃 我已经尝试了我能想象到的所有组合来检查一个字符串是否包含另一个字符串 这是描述我想要做的事情的直观语法示例 NSPredicate pPredicate NSPredicate predicateWithFormat NOT K C
  • ALAssetPropertyDate 返回“错误”日期

    我目前正在开发一个项目 需要读取一些 纬度 经度和日期 EXIF 数据 位置数据似乎是正确的 但我得到的日期似乎是 上次修改日期 日期 CLLocation loc asset valueForProperty ALAssetPropert
  • 使用自定义组件:子类 UIView 或 UIViewController?

    我正在研究 UISegmentedControl 的自定义实现 我想创建一个能够接收配置数据并从中获取类似于 UISegmentedControl 的自定义视图的组件 我开始对 UIView 进行子类化 我可以使用以下代码创建自定义 UIS
  • 如何正确使用CCSpriteFrameCache和CCSpriteBatchNode?

    我不明白当我将 CCSpriteFrameCache 或 CCSpriteBatchNode 添加到我的 cocos2d 应用程序时我到底做了什么 有人可以解释一下以下几点吗 如果你能解释一些的话会很有帮助 请根据你回答的问题在你的答案前写
  • 如何让 iPhone 发出蜂鸣声?

    什么代码可以让我在 iPhone 上发出标准的蜂鸣声 好吧 这取决于您想要什么样的声音 以下是如何使用 AVFoundation 音频框架播放声音 import
  • 如何消除圆形矩形按钮周围的间隙而不删除其周围的边框? [复制]

    这个问题在这里已经有答案了 顺便提一句 这可能看起来像是关于按钮阴影问题的问题的重复 但它们有单调的背景 在我的例子中 背景是一些图像 所以简单的边框不能解决问题 While making app for iPhone Pad I noti
  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • 无效的 Swift 支持 - 文件位置不正确

    我一直在尝试将新版本上传到 iTunes Connect 来更新应用程序 我第一次使用 xCode 6 但收到了一封来自 Apple 的电子邮件 内容如下 亲爱的开发者 我们发现您最近交付的 应用程序 存在一个或多个问题 要处理您的交货 必

随机推荐

  • 适用于 iOS 的 Flutter 应用程序在使用 Firebase 启动时崩溃

    我研究了这么久 还没有找到解决我的问题的方法 我正在使用 flutter 构建一个 iOS 应用程序 并将该应用程序从 Windows 计算机移至虚拟 macOS 现在 当我尝试在 Iphone 模拟器 Iphone 11 pro Max
  • Android 上 libjpeg-turbo 的集成或构建说明

    在互联网上可以找到各种提到 Android 版 libjpeg turbo 的页面 example http comments gmane org gmane linux linaro devel 6967 他们都指向存储库here htt
  • 如何仅在 Swift 中将一个视图控制器的方向锁定为纵向模式

    因为我的应用程序支持所有方向 我想仅将纵向模式锁定到特定的 UIViewController 例如假设它是选项卡式应用程序 并且当登录视图以模态方式出现时 我只希望登录视图仅处于纵向模式 无论用户如何旋转设备或当前设备方向如何 当你有一个复
  • 模板智能感知

    我主要使用 C 而 VSCode 中缺少的一件事是 Angular 2 模板中的 IntelliSense 我发现这个问题有解决办法here https github com microsoft typescript issues 6508
  • 用于理解 OpenGL 中的视图、投影、“虚拟相机”或一般图形的资源 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我注意到大多数资源要么假设您已经了解很多 要么假设您了解专业水平的数学 要么假设您将找到其他资源来填补空
  • 如何从 Python 以隐身模式打开 chrome

    这在 powershell 中有效 Start Process chrome exe ArgumentList incognito www foo com 如何通过 Python 实现这一点 使用网络浏览器在 chrome 中打开隐身模式的
  • 在 jQuery mousedown 处理程序中添加覆盖层后,Internet Explorer 泄漏单击事件

    In a mousedowndiv 的事件处理程序创建另一个新 div 并将其附加到主体 这个新的div有position fixed 也可以是position absolute 并且具有 100 宽度和 100 高度 因此它立即覆盖触发鼠
  • 更新 Flutter 项目中的 Gradle

    我有这个项目Flutter 但由于 Gradle 版本的原因 我已经有几周无法构建 apk 了 我已经尝试了所有方法 但 Flutter 总是返回以下错误 我已经安装了我发现的每个更新 尽管它显示 Gradle 版本是 4 10 2 颤动构
  • 读取 Excel Open XML 会忽略空白单元格

    我正在使用此处接受的解决方案 https stackoverflow com questions 3321082 from excel to datatable in c with open xml将 Excel 工作表转换为数据表 如果我
  • 将主机名解析为 IP 地址

    我开发了一个客户端 服务器模拟应用程序 我在两台不同的 Windows XP 计算机上部署了客户端和服务器 不知何故 客户端无法向服务器发送请求 我尝试了以下选项 使用 IP 地址从客户端成功 Ping 通服务器计算机 使用 IP 地址成功
  • 访问者模式 - 添加新的 ConcreteElement 类很难吗?

    我读了一本关于访客模式的书 它给出了与中相同的类图oodesign 的网站 http www oodesign com visitor pattern html 它说添加新的 ConcreteElement 类很困难 但我不明白为什么 据我
  • CORS 请求 - 为什么未发送 cookie?

    我有一个跨域 AJAX GET 它已成功预检 但 cookie 未附加到 GET 请求 当用户单击登录按钮时 会发出 POST 来使用户登录 这可以在跨域中正常工作 JavaScript 是 ajax signin url type POS
  • Lucene.net 模糊短语搜索

    我自己已经尝试了相当长的一段时间 并在网络上到处寻找 但一直无法找到任何通过 Lucene NET 2 9 2 进行模糊短语搜索的示例 C 是否能够建议如何详细执行此操作和 或提供一些示例代码 我将非常感谢任何帮助 因为我完全陷入困境 我假
  • 检查 Swift 中两个字符串表达式之间的相似度

    我扫描了文字 Mils chiiese wh ite ch col te 和表达式列表 例如 cheese bread white chocolate etc 我需要将损坏的表达式与我的列表中的表达式进行比较 例如 白巧克力 和 wh it
  • 如何解析“Build:‘Promise’仅指一种类型,但在此处用作值。”

    在打字稿中 我收到构建错误 提示 Build Promise 仅指类型 但在此处用作值 我的项目目标是 ES5 从这个帖子中 我可以通过将其更改为 ES6 来解决该问题 有没有办法在不改变目标的情况下解决问题 typescript 错误 T
  • 从 Swagger 文档生成 Yaml 或 Json 文件

    我使用 swagger springmvc 注释开发了一些由 swagger 记录的 Rest Web 服务 现在 我想使用 swagger editor 生成客户端 Rest Web 服务代码 但 swagger editor 需要 Ya
  • Java ME 双空格中的字符串替换

    如何在 Java ME 中将 a b 替换为 a b The replace 方法不接受字符串 只接受字符 由于双空格包含两个字符 我想我有一个小问题 你觉得这个怎么样 我自己尝试过一个 private String replace Str
  • Windows 上 Python 的长路径

    我在 Windows 下运行 Python 编程时遇到问题 我需要使用长度超过 256 个或任何限制字符的文件路径 现在 我基本上阅读了两种解决方案 使用 kernel32 dll 中的 GetShortPathName 并以这种方式访问
  • C# ValueTuple 属性命名

    我正在尝试 C 中的 ValueTuple 类 我对属性命名有疑问 让我们看看 如果实例化一个 ValueTuple 并声明该对象 如下所示 var tuple1 Name Name1 Age 25 我们可以命名属性 但是 像这样 Valu
  • 将 .plist 文件与 iCloud 同步

    我正在尝试弄清楚如何同步 Mac 沙盒应用程序中 应用程序支持 文件夹中的 plist 文件 我知道我可以使用 iCloud 键值存储 但每个应用程序有 64KB 的限制 这可能会或可能不会达到 具体取决于用户向应用程序添加了多少内容 我已