问题标签 [photosframework]

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

ios - 创建视频资产时,PHAssetChangeRequest 始终返回 nil

我正在本地文档中保存一个新创建的视频文件。然后我想使用照片框架将它复制到照片库中。

问题是,即使正在写出视频(我可以确认它在那里并且可以查看),以下创建请求总是返回 nil:

0 投票
1 回答
2502 浏览

ios - How to to filter by media subtype using NSPredicate with PHFetchOptions

How do I filter by media subtype using NSPredicate with PHFetchOptions? I'm trying to exclude slow mo (high frame rate) and time lapse videos. I keep getting strange results when I try to use the predicate field of PHFetchOptions.

My phone has a bunch (120+) regular videos, and one slow mo video. When I run the example from Apple's docs, I get the correct result back: 1 slow mo video.

But I'm trying to exclude slow mo, rather than select it. However if I negate the filter condition, I get zero results back:

Confusingly, the Apple docs list the name of the field as mediaSubtypes (with an "s"), while their sample predicate is filtering on mediaSubtype (without an "s").

Trying to filter on mediaSubtypes produces an error:

Has anyone been able to make heads or tails of this predicate?

0 投票
2 回答
279 浏览

ios - 使用照片框架保存时相机胶卷中的低分辨率照片

我使用上面的代码,我在相机胶卷中得到了一张奇怪的照片,比如照片 1。 在此处输入图像描述

但是当我用 VSCO 或 snapseed 打开保存的照片时,我可以得到我保存的正确版本的普通版本。

这是苹果相机胶卷的错误吗?

在此处输入图像描述

很奇怪,如果我直接将inputData保存到照片库,但是添加元数据后,系统照片应用程序中的照片看起来不清晰。

0 投票
0 回答
148 浏览

ios - 在不完全加载到内存的情况下获取资产的文件大小和其他信息

我需要获取有关资产的信息而不将其加载到内存中,如果资产非常大,这可能需要很长时间。

由于我将遍历设备中可用的所有资产,因此可能需要很长时间。

我正在使用以下代码将资产加载到NSData对象中并检索有关它的一些信息:

这行得通,但正如我所说,它可能需要很长时间。

是否可以在不首先将其完全加载到内存中的情况下获取资产的大小以及有关资产的其他信息?

0 投票
0 回答
318 浏览

ios - iOS - 授予权限后第一次未加载和显示照片

我正在使用 iOS 8 照片框架来加载照片并将它们显示在自定义视图上。当被问及访问照片库的权限时,在我单击“确定”后,直到我返回并再次加载此视图后才加载照片。之后一切顺利。我的代码是这样的:

在 viewWillAppear() 中:

loadLibraryPhotos() 正在加载最新的照片资源并将它们存储在assets: [PHAsset]. 这个数组是一个collectionView的数据源,大小不大于20。

屏幕上同时只显示 2 或 3 张照片。只要我点击“确定”,每次除了第一次之外,所有照片都会立即加载。有人可以帮忙吗?

0 投票
1 回答
274 浏览

ios - 从应用程序录制的视频在 PHAsset 中的创建日期不正确

我有一个应用程序可以录制视频并按特定顺序显示它们。我的应用程序中录制的视频有正确的日期,但时间都是一样的。所以,今天录制的所有视频显示:2015-07-31 13:15:51 +0000

我没有在我的捕获会话或电影输出中设置任何与时间相关的属性。我似乎找不到任何有关如何正确执行此操作的文档。有人有想法吗?

谢谢!

更新:我在应用程序中录制了更多视频。原来日期也是错误的。它的创建日期与之前创建的所有其他视频相同。为了好玩,我从手机中删除了该应用程序,录制了一个新视频。它有正确的日期和时间。但录制第二个视频后,日期和时间与之前录制的视频相同。

0 投票
1 回答
339 浏览

ios - PHPhotoLibrary.sharedPhotoLibrary().performChanges 中的活动指示器动作缓慢

我正在删除一些照片资产,我想在资产被删除时显示一个活动指示器,并在资产被删除但我的代码运行缓慢时停止它,你知道出了什么问题吗?

0 投票
3 回答
1119 浏览

ios - NSPredicate 从 PHFetchResults 中排除慢动作视频

这是我获取不包括慢动作视频的视频的代码。但是我遇到了以下错误。即使我这样做也不起作用,

有人请帮忙。提前致谢。

0 投票
2 回答
1483 浏览

ios - Photos.framework 抛出: ImageIO: PNG zlib 错误但仍提供 UIImage

我在这里发现了一个类似的问题: iOS 8 (Swift) How do I get rid of this error: ImageIO: PNG zlib error? 但是有一些区别。

PHAsset从选择器中获取 - 图像确实下载并正确显示(它使用PHCachingImageManager类)。

但是,当我稍后尝试从资产请求图像时,如下所示:

result变量是指向UIImage对象的指针,但无效 - 我无法将其转换为 NSData,也无法通过 xcode 快速查看。

在日志中,我只收到以下消息:仅此<Error>: ImageIO: PNG zlib error而已。

我尝试按照链接问题中的建议使请求同步,但这没有任何区别。

指向的图像PHAsset可以在照片应用程序和照片选择器中查看。

0 投票
6 回答
15538 浏览

ios - 检查给定的 PHAsset 是 iCloud 资产吗?

我正在尝试获取 PhAsset 对象。我想隔离 iCloud 资产。这是我的代码,

请告诉我如何找到 PHAsset 是 iCloud 资产?