问题标签 [icloud]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3375 浏览

cocoa - Ubiquity 容器、权利和代码签名的问题不能相互配合

我正在努力将 iCloud 支持添加到我的收入跟踪应用程序 myIncome,该应用程序目前作为 1.0 版本在 Mac App Store 中,并且在 1.0 版本中可以正常工作。

我只添加了获取 ubiquity 容器并将所选文件上传到 iCloud 的代码。目前我正在使用一个块来查看 iCloud 是否可用于验证发送文件的菜单项。

我已将密钥添加到权利文件中,并为应用程序提供了一个开发配置文件,其中 iCloud 处于活动状态。

如果代码签名打开,我会在 Console.app 中收到这些消息,并且调试器会runtime_init停止EXC_BAD_INSTRUCTION

如果我关闭代码签名(并清理项目),当我尝试获取 ubiquity 容器并且 Console.app 显示以下消息时,我会返回 nil:

我制作了一个小型测试应用程序,它是一个 Core Data 应用程序,并且具有启用 iCloud 的应用程序 ID,并且使用相同的代码一切正常,因此 myIncome 中显然存在冲突我只是不确定在哪里寻找问题。

有没有其他人遇到过类似的问题或有任何想法去哪里看?

一旦我让 iCloud 在 myIncome 中工作,我计划编写一个教程,让每个人都能从这些知识中受益,因为现在几乎没有关于如何将 iCloud 添加到 Mac 应用程序的信息。

0 投票
1 回答
2162 浏览

ios - iCloud 在初始同步期间在做什么?

我想将我的 Core Data 鞋盒应用程序与 iCloud 同步。Apple 提供的示例项目展示了如何设置 NSPersistentStoreCoordinator 以启用 iCloud。代码大致如下所示:

问题是:如果 iCloud 中已经存储了数据,则此方法需要永远返回persistentStoreCoordinator。如果我同步执行,我会在几分钟内看到一个空白屏幕,如果我异步执行,我的应用程序将完全无法使用,因为我无法与 Core Data 交互。

当然有一种方法可以像没有 iCloud 一样添加持久存储,然后让 iCloud 异步工作?

基本上,我的问题是,iCloud 在初始同步期间做了什么,我可以先让我的 persistentStoreCoordinator 让数据在后台同步吗?

0 投票
2 回答
925 浏览

iphone - iOS - 如何知道是否启用了 iCloud 照片传输功能

新的 iCloud 服务有许多可能的配置。我如何知道我的用户的设备是否配置为将拍摄的照片发送到 iCloud 服务器,而不是仅将它们存储在设备上?

0 投票
5 回答
13200 浏览

iphone - 在应用程序委托中添加持久存储(启用 iCloud)时崩溃

我将开始更新它以帮助那些寻求将其用作自己个人代码的参考的人。

最新更新

  • 我很确定我已经找到了一种方法,可以在设备停止相互通信后重新同步设备。我将在下面使用所有详细信息更新我的答案。我非常希望你们都觉得这很有帮助。花了将近 2 个月的反复试验才弄清楚这一点。因此,请参考并与其他遇到类似问题的人分享,让设备再次通过 iCloud 相互交谈。我花了很长时间才弄清楚这一切,所以我很高兴尽可能多地让其他开发人员免于创建自己的临时修复程序。

另一个有助于正确设置的补充

  • 我发现在更新具有与帐户关联的 iCloud 数据的应用程序后,打开它可能会导致崩溃,因为 iCloud 数据会尝试立即合并到设备中(设备尚未设置其持久存储)。我现在添加了 @property (nonatomic, readwrite) BOOL unlocked;toAppDelegate.h@synthesize unlocked;to AppDelegate.m。然后我更改了我的- (NSPersistentStoreCoordinator *)persistentStoreCoordinator方法以及我的- (void)mergeChangesFrom_iCloud方法,这两者都将在下面显示(中间为持久存储设置,底部为 iCloud 合并方法)。从本质上讲,我是在告诉应用程序在应用程序设置其持久存储之前阻止 iCloud 合并数据。否则,您将看到应用程序由于不可读的错误而崩溃。

以下是我设置persistentStoreCoordinator的方法:

<myAppKey>当然<bundleIdentifier>是实际值。我只是为了共享此代码而掩盖它们。

我知道有些人仍然遇到问题,并且可能会将此问题用作有关如何设置自己的支持 iCloud 的 Core Data 应用程序的参考,因此我想在更改我的个人代码时更新它,以确保你们所有人都可以使用适合我的代码。在此更新中,我将初始 cloudURL 从 更改[fileManager URLForUbiquityContainerIdentifier:@"<TeamIdentifier>.<bundleIdentifier>"][fileManager URLForUbiquityContainerIdentifier:nil],确保从权利文件中收集容器信息。

附加方法 _notificationArray定义如下: @property (nonatomice, strong) NSMutableArray *notificationArray; @synthesize notificationArray = _notificationArray;

然后是mergeiCloudChanges:forContext:方法:

最初的问题

  • 在 iOS 5.0.1 上使用 iCloud,我偶尔会遇到与持久存储相关的错误。当我通过实验找到它时,我将继续使用新信息更新它,但到目前为止,我提供的解决方案是我可以让应用程序再次正常工作的唯一方法(不幸的是,jlstrecker 的解决方案对我不起作用)一旦我开始看到错误,如下所示:

    -NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error::CoreData:Ubiquity: 尝试读取 ubiquity 根 url 时出错:file://localhost/private/var/mobile/Library/Mobile%20Documents/./data/。错误:Error Domain=LibrarianErrorDomain Code=1“操作无法完成。(LibrarianErrorDomain 错误 1 ​​- 无法启动项目下载。)”UserInfo=0x176000 {NSURL=file://localhost/private/var/mobile/Library /Mobile%20Documents/./data/, NSDescription=无法启动项目下载。}

    对于我的一生,我无法弄清楚为什么我会突然看到这种情况或如何让它停止。我已从两台设备上删除了该应用程序,删除了之前在它们之间同步的 iCloud 数据,并从有关应用程序的备份中删除了所有数据。我已经重新启动了 Xcode,重新启动了两个设备,清理了 Xcode 项目,但没有任何东西可以阻止错误的出现。我以前从未见过此错误,并且在网上找到有关如何确定它的任何内容的运气为零。

    该应用程序在此处崩溃:

    日志永远不会被命中,也不会中止。我只是看到上面的错误,应用程序本身变得无响应。如果有人能帮助我指出正确的方向,我将不胜感激。

以前的问题/问题

  • 即使在从 beta 版更新到 5.0.1 的公开版本之后,这种情况似乎仍在继续。上一次发生在我身上是在更改了我的托管上下文数据模型之后。考虑到我还没有发布应用程序,我没有费心合并模型的新版本。我刚刚在我的设备上删除并重新安装了该应用程序,但它拒绝与存储在 iCloud 容器中的数据合作,我的意思是我收到了一个错误,即商店无法下载项目。我想这是由于数据模型类型冲突造成的,这很有意义。所以看起来你只需要摆脱 iCloud 容器中的数据而不摆脱容器。删除 iCloud 数据似乎会扼杀一切,实质上是禁用容器和 App ID。因为看起来比较简单,我尝试按照 jlstrecker 的建议创建一个新容器,但不幸的是,这根本没有帮助。所以再一次,我必须完成我在答案中概述的步骤,这又成功了。但是考虑到每次都必须创建新的 App ID 和更新配置文件是多么烦人,我认为最好更新我所学到的知识,以缩小原因并找到更快的解决方案。

    通过 iCloud > Storage & Backup > Manage Storage,然后删除应用程序似乎是清空数据的最佳解决方案,但这样做似乎会损坏容器,导致上述错误。成功完成此操作后,无论我删除应用程序并将其重新安装到设备多少次(使其看起来像是第一次出现在设备上并希望重新创建容器),我永远无法让应用程序显示再次在文档和数据列表中。这有点令人担忧,这是否意味着任何从 iCloud 中删除数据的人都意味着 iCloud 将不再适用于该应用程序。到目前为止,我只在应用程序上使用开发配置文件,因此使用分发配置文件可能会有所不同,但我必须先测试一下,然后才能确定。

我希望这些新的更新可以帮助任何在设置商店时遇到困难的人。到目前为止,它对我来说效果很好。如果我找到更好的修复或任何使过程更加流畅的东西,我一定会更新更多。

0 投票
1 回答
1025 浏览

javascript - iCloud.com 中使用了哪些 JS 框架?

通过查看iCloud.com中加载的脚本,我只能识别jQuery

但是,我无法判断其他文件中的 JS 代码是自定义的还是属于其他框架的。仅用于教育目的,有人可以给我更多信息吗?

0 投票
3 回答
10095 浏览

iphone - 如何使用 iCloud 在我的应用程序之间同步 .zip 文件?

是否可以将.zip文件上传到iCloud,然后在用户的所有 iOS 设备上同步?
如果是这样,我将如何去做?
如果有任何文件大小限制,则还要提及最大。允许的文件大小。

0 投票
2 回答
883 浏览

iphone - 如何解释 document.state == 12 (iCloud)

每当我从 iCloud 加载 UIDocument 时,我都会像这样检查它的状态:

在某些情况下,我收到了导致崩溃的 documentState 8 或 12。我现在想知道 8 和 12 到底代表什么。据我所知, documentState 是一个位字段,因此它有许多不同的标志。文档显示:

但是,我不知道如何在我的情况下解释这一点。如何找出 8 和 12 代表什么?

0 投票
2 回答
941 浏览

iphone - iCloud - 移动文件完成

我可以使用条件将文件从本地目录移动到 iCloud setUbiquitous:YES。文件已成功移动。如果文件很大,完成移动需要一定的时间。如果文件已完成移动到 iCloud,有什么方法可以识别吗?提前感谢您的回答。

0 投票
2 回答
1620 浏览

iphone - iCloud 的有效文件类型?

我发现很多类似的问题,但我没有得到解决方案。

是否可以通过编程方式将图像、文档、zip 文件等文件上传到 iCloud 上?

0 投票
1 回答
1692 浏览

iphone - iCloud的loadFromContents——如何处理UIDocumentStateSavingError & UIDocumentStateEditingDisabled

我在我的应用程序中使用 iCloud 来加载文本文件。加载文本文件时,当我调用_UIDocument openWithCompletionHandler:^(BOOL success)等时,iCloud会调用此方法:

现在最大的问题是 documentState 是 8 (UIDocumentStateEditingDisabled) 还是 12 (UIDocumentStateSavingError & UIDocumentStateEditingDisabled)。这通常会导致应用程序崩溃。如果 documentState > 7,即如果它是 8 或 12,我尝试返回 NO,但这会导致根本不加载任何内容。

我想问题是 UIDocument 不会加载任何东西到 self.books 如果它的编辑被禁用或者如果有一个保存错误。

处理此类错误的好做法是什么?另外,为什么 Apple 没有在他们的示例代码中建议在将数据加载到 UIDocument ( iCloud Docs ) 之前检查 documentState ?我想我在做一些根本错误的事情。