问题标签 [ckasset]

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

ios - 在 CloudKit 中将图像存储为 CKAsset,图像倒置

我正在开发一个使用 CloudKit 将图像文件作为CKAsset对象存储和检索的应用程序。通常,这很有效,我喜欢 CloudKit 的小学习曲线。不过,我会定期遇到这个特殊的问题,即图像被完全颠倒存储,或者向左或向右 90º 存储。以下是不正确存储的图像示例:

我的 MacBook 示例奇怪地向左旋转了 90º

我用我的 iPhone 5s 纵向拍摄了那张照片(我没有将原始图像保存到我的设备中,因为我只是打算将它保存在云中,否则我也会在这里发布原件。我想因为它是一个 MacBook Pro 坐在桌子旁,你可以弄清楚图片的原始预期方向)。无论如何,我不仅对相机中的新鲜图像有这个问题,而且对从我的照片库中选择的图像也有这个问题。

这是我用来通过 CloudKit 存储图像的代码:

game只是NSObject我创建的一个名为SavedGame的 ,它只存储变量,特别是在这种情况下referenceImageas a UIImage。我很确定我的检索过程不是问题,因为我注意到当我去 CK Dashboard 并在图像存储后下载图像时,它也在那里旋转。以防万一,这是我用来检索图像的代码:

谁能给我一些关于我可能在哪里犯错误的指导?这个问题完全不一致,很奇怪。我估计它发生的概率为 5-10%。我不知道是 CK 问题,还是我的代码有问题。任何帮助将不胜感激。提前致谢!

0 投票
1 回答
802 浏览

ios - 如何有效使用 CloudKit 每日 25mb 的传输限制

我正在创建一个高度以图片为导向的应用程序,最终可能会使用很多 ckassets。但我读到每个用户的每日数据传输限制为 25mb。我的问题是这些数据可以传输吗?如果一个用户使用 0,那么其他人可以使用 50?我觉得 25mb 的数据传输限制似乎很小,因为一张图片是 100k,所以一个人每天最多只能播放 250 张图片。这似乎是一个如此严重的限制。谢谢你。

0 投票
2 回答
415 浏览

ios - 如何初始化 CKAsset?

我有一个类,它有一个从 CloudKit 中提取数据的 CKAsset(图像文件)。但是,我不知道如何初始化 CKAsset。初始化时我没有数据。该类也有字符串,但我可以使用 "" 来初始化它们。什么可以用来初始化 CKAsset?

这是我的课...

0 投票
2 回答
331 浏览

ios - 来自 CKAsset 的图像在 Swift 中乱序加载

我正在加载从公共 CloudKit 数据库作为 CKAssets 获取的图像的表格视图。但是,在将正确的图像加载到自定义 UITableview 单元格的 UIImageView 之前,图像会乱序加载大约两秒钟。我知道问题在于,由于单元格是可重复使用的,因此图像仍然从 CloudKit 下载并显示在任何可见的单元格中,而用户在正确的图像显示在图像视图中之前滚动 TableView 时。我想知道是否有快速解决此问题的方法,以便下载的图像仅适用于可见单元格的图像,而不适用于任何以前的单元格。

这是 cellForRowAtIndexPath 的代码:

提前致谢!

0 投票
1 回答
183 浏览

ios - CKAssets 的 CKQuery 很慢

当我获取具有字符串(或其他)字段的记录时,它需要不到 1 秒:

但是,当此记录类型包含 CKAsset 时,查询时间会上升到至少 3 秒。当我要加载 100kb 的图像时,这是不可接受的。当我将资产作为参考放入并从那里加载时也是如此。我可以做些什么来加快对包含资产的记录的查询,或者是否有任何其他方式可以更有效地存储资产?

0 投票
2 回答
439 浏览

objective-c - CloudKit - 将 CKAsset 与包文件一起使用

我正在尝试使用 CKAssets 将我的应用程序中的文件存储到 CloudKit 中。一切正常,使用 CKRecord + CKAsset 上传和下载工作正常,除了一些文件类型,包括 Numbers、Keynote 和 Pages 文档。当我尝试将这些保存到 CloudKit 时,我收到以下错误:

我的猜测是,这与作为“包文件”的文件有关……即在它们下面隐藏了一个子目录,当您使用“显示包联系人”时可以看到它。

在这种情况下,我应该如何将文件上传到 CloudKit?是否有任何 API 可以检测这些是“包文件”,并将它们压缩成可以导出的格式?如果我不能在一台设备上上传 Keynote 文档并通过我自己的应用程序在另一台设备上访问它(作为 Keynote 文档),那将是非常令人失望的。

0 投票
0 回答
115 浏览

ios - 问题保存/显示 CKAssets

我对 swift 很陌生,所以请多多包涵。

我目前能够下载 CKRecords 并将它们插入到数组“birdFacts”中。每条记录包括几个字符串、一个图像 (CKAsset)、一个日期和一个 int。当他们最初从 iCloud 下载时,一切正常。

一切都按预期保存,除了图像。当我重新加载数据时,资产不显示。

这是我加载保存数据的代码:

这是我保存数组的代码:

这是在我的自定义类定义文件中:

}

每当我完成下载和排序记录时,我都会保存。知道出了什么问题吗?

编辑:包括 CloudKit 查询。我应该注意,我从不将任何内容保存到 iCloud,只下载现有记录。

0 投票
0 回答
262 浏览

swift - CKAsset 在 Xcode 8 beta 6 / Swift 3 中搞砸了文件 url

我正在尝试分两步将 UIImage 上传到 CloudKit:

  1. 获取我的 UIImage 的文件 URL
  2. 为我的文件 URL 获取 CKAsset

但是,在调试我在第二步中创建的 CKAsset 时,我注意到我的图像的文件路径不存在,因此 CloudKit 无法保存资产!

这是我的代码:

知道这里发生了什么吗?这是 beta 6 中的回归还是我的代码错误?

感谢您的反馈!

- 标记

这里有一些 lldb 语句:

0 投票
1 回答
354 浏览

swift3 - MacOS项目Xcode8 Swift 3中的新“非文件URL”错误

在升级到 Swift 3 和 xCode 8.0 之前,我有一些运行良好的代码。

在控制台中产生这个

拇指 /Users/prw/Documents/thumbTemp.jpg

2016-09-27 10:32:06.140 PA 地点数据[2386:68875] 非文件 URL

print 语句仅用于调试。

在我看来,临时路径!是文件的路径,所以我不知道如何解决这个问题。执行不会停止,但在 CKAsset 语句之后没有任何反应。

谁能解释可能导致问题的原因?

0 投票
1 回答
185 浏览

ios - 获取 CKAsset 列表 Swift

我正在使用下面的代码来获取 CKAsset 列表,但它一直在崩溃并告诉我:"fatal error: unexpectedly found nil while unwrapping an Optional value"但是 CloudKit 仪表板中的资产列表不是空的。

你知道我哪里错了吗?

谢谢