问题标签 [photokit]

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 投票
2 回答
2363 浏览

ios - PHImageManager 在许多图像请求后崩溃

我试图抓住所有用户PHAssetPHAssetMediaTypeImage然后遍历他们,UIImages一次获得相应的用户。我的 iPhone 5 上有大约 2k 张照片,这段代码在遍历 587 张照片后崩溃。

异常读取 EXC_BAD_ACCESS(代码=1,地址=0x0)。任何为我指明正确方向的帮助将不胜感激。

0 投票
2 回答
5066 浏览

ios - 如何为 iOS8 PhotoKit 获取请求的图像大小?

我正在使用下面的代码来获取图像:

我要求的图像尺寸为 800 x 600,但我得到的图像尺寸为 45 x 60,质量非常差。

我怎样才能得到请求的图像大小使用PhotoKit

0 投票
0 回答
1676 浏览

ios - 您可以使用 PhotoKit 获取“最近删除”中的照片吗?

我已经扫描了 API,到目前为止一无所获。我会采取PHAssetCollection“最近删除”的方式,或获取个人PHAssets 的方式。

我不推荐(或不推荐),但在 API之外有一些解决方案,但可能仍然可以通过 AppStore:

  1. 您可以将未记录的智能相册 ID 用于“最近删除”,1000000201. 请参阅这个 SO 问题

  2. 您可以过滤中的文本"assetSource=3"PHAsset.description请参阅此 SO 答案

0 投票
1 回答
702 浏览

ios - 在 PhotoKit 中删除:您可以跳过“最近删除”吗?

从 iOS8 开始,当您删除照片时,它会进入一个名为“最近删除”的垃圾箱模拟。当您通过 Photos.app 或 PhotoKit API(使用PHAssetChangeRequest.deleteAssets())删除时会发生这种情况。

然后在 Photos.app 中,您可以进入“最近删除”,并真正删除该照片。有没有办法在 PhotoKit 中做到这一点?

0 投票
1 回答
680 浏览

iphone - iOS8 PhotoKit:[asset canPerformEditOperation:PHAssetEditOperationDelete] 何时返回 false?

事实证明,并非所有资产都可以使用 iOS 8 的新 PhotoKit SDK 删除,您可以通过调用 [asset canPerformEditOperation:PHAssetEditOperationDelete] 测试每个资产是否可删除。

使资产不可删除的标准是什么?我试图通过将它们隐藏、爆裂或通过使用 iOS8 在多个 iPhone 设备上编辑它们来使照片无法删除,但没有成功。

谢谢

0 投票
2 回答
8621 浏览

ios - PhotoKit iOS8 - 使用“PHImageFileURLKey”检索图像

无论如何我可以使用从返回的路径"PHImageFileURLKey"进入照片库并检索图像吗?

返回的路径格式如下:

我的计划是将此路径存储在数据库中,并在需要取回图像时使用它来获取图像。

任何帮助表示赞赏。谢谢!

0 投票
1 回答
1787 浏览

ios - 使用 Photo Kit 和 Swift 在 UICollectionViewCell 中模糊图像

我正在开发一个带有照片部分和收藏视图的应用程序。细胞中的图像是模糊的。它们在全屏和不同屏幕上作为表格视图中的缩略图查看时非常清晰。我有一个名为 Photo 的 NSManagedObject 子类,它可以导入照片、引用 PHAsset,并包含名为 getAsset() 和 getImage(size) 的方法。

这是我的 UICollectionViewCell 子类的代码:

从我的 UICollectionView 子类中的 cellForItemAtIndex :

Photo NSManagedObject 子类中的 2 个方法根据创建日期查找照片:

getImage 中的 println() 语句向我展示了这会将每个图像以不同的大小获取两次,这两个都不是指定的大小。首先获取每个单元格的较小尺寸,然后是每个单元格的较大尺寸。我怀疑较小的图像被炸毁以填充我的单元格(我认为这会使它变得模糊)并且它没有加载到较大的尺寸(我认为这很清楚)。记录输出:

在我的故事板中,我的 imageView 和单元格都设置为 250 x 175。我的 imageView 在检查器中设置为 Aspect Fit。

0 投票
0 回答
144 浏览

ios - 使用 PHContentEditingOutput 导出视频文件后的临时文件

我用AVAssetExportSession. 我采用一个 URL 来呈现PHContentEditingOutput。使用编辑输出修改资产后,我是否必须手动从临时文件夹中删除文件,或者照片框架是否适合我?

0 投票
1 回答
5617 浏览

ios - 如何在 Swift 中为 PHFetchOptions 格式化 NSPredicate?

我无法弄清楚predicatePHFetchOptions. 我尝试了很多组合,但它们要么不编译,要么不返回任何资产。

目标是仅获取给定集合中的照片(无视频):

我已经尝试了==, %d, %@, PHAssetMediaTypeImage, "PHAssetMediaTypeImage",PHAssetMediaType.Image等的所有组合。

0 投票
2 回答
10666 浏览

ios - 给定一个 CIImage,将图像数据写入磁盘的最快方法是什么?

我正在使用 PhotoKit 并实现了过滤器,用户可以将其应用于照片库中的照片。我目前正在获取图像,应用过滤器,将编辑后的版本返回为CIImage,然后将其转换CIImageNSDatausing UIImageJPEGRepresentation,以便将其写入磁盘。虽然这很有效,但当用户尝试编辑非常大(如 30 MB)的照片时,可能需要 30 秒以上的时间才能完成,其中 98% 的时间都花在了UIImageJPEGRepresentation(从 Instruments 获得的统计数据)上。

如果可能的话,我正在寻找一种更有效的方法来将这张编辑过的照片保存到磁盘而不影响质量。

我知道UIImagePNGRepresentation可能会提高质量,但这甚至比 JPEG 表示还要慢。

这是我目前正在做的,在默认优先级线程(qos_class_utility)上: