问题标签 [uidocument]

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 回答
339 浏览

ios - NSCFString _cfurl 无法识别的选择器发送到实例

我正在使用 Core Data 多年。目前我想了解更多关于 UIManagedDocument 的信息。我已经完成了几个示例项目以了解更多信息。最后,我很高兴将这种机制转移到实际项目中。在现有项目中,我目前正在实现Core Data,因此我创建了Data Model(与app同名)。我为实体生成了一个类,然后我创建了一个类别,该类别具有一个将对象添加到数据库的简单方法。最后我为 UIManagedDocument 创建了单例,现在它看起来像这样:

在我实例化共享实例并调用 prepareManagedDocument 方法后,它会因以下消息而崩溃:

有趣的是它只在第一次运行时崩溃,但由于这次崩溃,它不会创建持久存储,所以它无法写入文档等。我有一个正在使用此代码的项目,并且不要抛出任何异常,因此它正在创建持久存储并且我能够写入该文档。

我哪里错了?

提前致谢!

0 投票
0 回答
335 浏览

ios - 在 iOS 中,您可以在不调用“打开方式”菜单的情况下在另一个应用程序中打开文件吗?

使用 UIDocumentInteractionController,我可以打开文件 URL 的“打开方式”菜单。如果只有一个应用程序可以处理(查看器/编辑器)该类型的文件,则会提供三个选项:

  1. 查看器应用程序
  2. 邮件
  3. 复制

有没有一种方法可以在不打开“打开方式”菜单的情况下立即将文件发送到“查看器”应用程序?

请注意:文件类型是只有 1 个查看器应用程序可以处理的自定义文件类型。

0 投票
1 回答
162 浏览

objective-c - 如何在主队列上加载 UIDocument?

我曾经使用 plists 来存储我的应用程序的数据,但我决定改用 UIDocument。第一个view是一个UITableView,在view出现之前需要加载对应的UIDocument。

我在应用程序的委托中加载并保存我的数据,但是当我加载我的 UIDocument 时,它只会在我的表格视图出现后才被加载(我认为是在后台队列上),从而导致各种错误。

那么,如何将它加载到主队列中,以便加载后程序执行可以正常继续呢?该文档不是很大(仅包含字符串数据数组的数据),因此不会真正存在任何与性能相关的问题。

0 投票
1 回答
619 浏览

xcode - 在 iCloud 上保存数据

我已经能够将 plist 与所有用户的高分同步到 iCloud。

我仍然无法弄清楚如何制作它,因此人们不能只进入 iCloud 文档文件夹并更改这些值。

我知道 Jetpack Joyride 将他们的游戏信息保存到 iCloud,但是当我进入文档文件夹时,里面什么都没有(他们将其保存到自己的服务器吗?)

我用“Game.sav”文件保存的另一个游戏。

iCloud中是否有用户无法访问的文件夹?如果他们可以更改 Game Center 的高分或成就数字,那将毁掉游戏。

提前致谢!

0 投票
0 回答
151 浏览

objective-c - 首次启动后,iCloud 文档几乎不同步

我正在使用 UIDocument 方法将数据存储在 iCloud 中。

所以我有 2 台设备要测试,当我第一次在 iPhone 上启动应用程序时,我做了一些更改然后调用saveToURL:completionHandler,之后我在 iPad 上启动应用程序,它运行良好,至少它确实从云中检索数据服务器。

我的问题出现在两者都有本地云存储之后。现在我在 iPad 上做了一些更改,然后我切换回 iPhone,我注意到 iPhone 仍然有旧数据,而不是 iPad 之前所做的更改。

有谁知道有什么问题?我什至尝试在 iCloud 设置中打开/关闭文档和数据,然后重新运行该应用程序,但没有运气,它仍然无法正常工作。

0 投票
0 回答
76 浏览

objective-c - 无法在单独的设备中加载 UIDocument

我创建了一个 UIDocument 来包装一个自定义对象。UIDocument 已成功保存到 iCloud,并且每次运行应用程序时都成功加载了每个 UIDocument。但是,当我尝试在新设备(iPhone 5)上运行该应用程序时,它不会从 iCloud 加载任何 UIDocument,但我可以在“设置”下检查 iCloud 并查看保存在我的应用程序下的文件。有没有人有一些步骤来检查为什么一个设备(iPhone 4)可以加载而另一个(iPhone 5)不能?我也无法从 iPhone 5 设备创建新的 UIDocument。

编辑

iPhone 5 上的应用程序不会加载存储在 iCloud 中的对象,但 iPhone 4 会从 iCloud 文档中加载对象。

0 投票
1 回答
174 浏览

icloud - 具有本地和 iCloud 支持的 iOS 应用程序

如果 ubiquity 容器(iCloud 文件夹)由于某种原因不可用,我会将任何新文档添加到用户的“文档”目录,但是,如果它再次可用,我会将文档添加到 ubiquity 容器中。

我的问题是,保存被视为无处不在的容器的文档的最佳方法是什么,如此不可靠?

例如,如果用户关闭云中的文档,这些文档就会被删除。发生这种情况时是否有通知要收听,以便我可以将它们传输到本地目录?

反之亦然,如果用户打开云中的文档,是否有将文档从本地移动到无处不在的存储的通知?

谢谢

0 投票
1 回答
1278 浏览

iphone - 使用 NSMetadataQuery 在目录中搜索文件

我的应用程序使用 UIDocument + iCloud 来创建和查看文档。文件以这种方式存储:

  • 文件/文件名.db
  • Documents/Filename.db/File.db(Filename.db是目录)

Documents/Filename.db 目录中的文件可以在其自己的视图控制器中正常加载。在另一个视图控制器中打开 Documents/Filename.db/File.db 时,我在加载这些文件时遇到问题。文件名不是固定的,并且会多次出现。我可以验证文件是否存储在目录中,所以这不应该是问题。

我想我已经找到了 NSMetadataQuery 的问题,因为它只在 Documents/ 内搜索 -我希望它在 Documents/Filename.db 目录内搜索。我尝试将查询 serachScope 设置为正确的路径,但似乎我需要使用 NSMetadataQueryUbiquityContainerDocumentsScope 进行搜索以返回结果。

0 投票
1 回答
285 浏览

ios5 - CoreData NSManagingContextDidSaveChangesNotification 保存空对象iOS5

在任何人建议之前,我们使用一个 managedObjectContext[context save:&error];

我们正在使用 iOS5 在 Core Data 中保存一个新对象。

问题是,我们第一次保存一个新对象时,NSManagingContextDidSaveChangesNotification会触发并[[notification userInfo] objectForKey:NSUpdatedObjectsKey]返回一个未填充的对象。在 iOS6 中,objectForKey:NSUpdatedObjectsKey已填充。

之后当我们保存时objectForKey:NSUpdatedObjectsKey填充。

我们一直使用的上下文是[[UIApplication sharedApplication] delegate].mainDocument.managedObjectContext.

所以问题是,第一次[context save:&error]被调用,没有任何东西保存到数据库中。但是它已经被保存到对象中,所以下次[context save:&error]调用它会被放入数据库中。

有没有人有这方面的任何信息。我听说过 iOS5 中 CoreData 中的错误,所以如果有人有任何建议,我们将不胜感激。

0 投票
1 回答
462 浏览

iphone - iPhone:在 Instagram 上上传图片

我已经编写了在 instagram 上上传图片的代码,如下所示:

但它会打开一个带有“instagram”选项的操作表,但是当我点击它时没有任何反应..你能帮我吗