问题标签 [phasset]

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

photokit - PhotoKit:PHFetchOptions 中的 includeAllBurstAssets 不起作用

我正在尝试使用 PHFetchOptions 的 includeAllBurstAssets。在我的相机胶卷中,大约有 5 个连拍资产(每个都有大约 10 张照片)。

要枚举相机胶卷中的资产,我正在执行以下操作:

无论如何,如果我将 includeAllBurstAssets 属性设置为 NO 或 YES,我会得到完全相同的资产计数。如果 includeAllBurstAssets 设置为 YES,我预计这个数字会更高。这是一个错误还是我以错误的方式解释了 includeAllBurstAssets。

0 投票
2 回答
14534 浏览

ios - 仅从资产集合类型 PHAssetCollectionTypeSmartAlbum 中获取 PHAssetMediaTypeImage 类型的照片

我正在使用 Photos 框架来获取 iOS8 中的专辑列表。我可以使用

这给了我所有智能专辑的列表,包括视频。如何从此列表中过滤掉视频。我只需要图像。

帮助将不胜感激。谢谢。

0 投票
1 回答
8354 浏览

swift - 获取 iOS 8 UIImage 方向属性

我正在从用户照片卷加载照片。

但是,有时我加载的照片是颠倒的。

我似乎找不到有关这些图像方向的元数据的任何信息。

你知道我如何从 PHImageManager 中检查所请求资产的方向吗?

当我从照片卷中选择时,图片会直立显示,但是当我将完整图像加载到另一个视图中时,它会旋转(并且我的代码不会应用任何旋转)。

0 投票
5 回答
1974 浏览

ios - 将元数据应用于图像会导致 performChanges 请求失败

我正在使用 PhotoKit 来编辑照片,我需要保留原始照片中的元数据。为此,我保存元数据,然后将其提供optionsCGImageDestinationAddImage. 我能够完成它并将其成功写入磁盘,但是当我调用performChanges提交资产编辑时,它失败了。如果我改为提供niloptions会成功。这里出了什么问题?

错误是:Error Domain=NSCocoaErrorDomain Code=-1 "The operation couldn’t be completed. (Cocoa error -1.)

0 投票
6 回答
20894 浏览

ios - 获取 PHAsset 的本地文件路径

我有一张照片,我希望我的用户能够在 Instagram 上分享,我需要获取照片的本地文件目录。

但是,我将我的图像作为 PHAsset 获取(而不是 ALAsset,所有其他答案似乎都涵盖了这个主题)。

查看 PHAsset 文档,我没有看到“本地目录”变量。

您知道如何使用新的 ios8 Photo 框架从用户相机胶卷中获取照片的路径吗?

这是我在用户照片卷中加载最后一张图片的代码

0 投票
5 回答
11994 浏览

ios - 如何识别 PHAsset 是否未完全从 iCloud 下载(因此我需要使用 options.networkAccessAllowed 再次请求)

文档说:

PHImageResultIsInCloudKey:一个布尔值,指示照片资产数据是存储在本地设备上还是必须从 iCloud 下载。(NSNumber) 如果是,则没有提供图像,因为资产数据必须从 iCloud 下载。要下载数据,请提交另一个请求,并为 networkAccessAllowed 选项指定 YES。

但是,当资产存储在 iCloud 照片库中时,此密钥始终为 YES,即使它已经完全下载到设备(在我的应用程序中下载它,也在照片应用程序中打开它)。

如果图像不可用,我想让用户有可能下载它(但不要自动下载,至少在没有 Wifi 时不会这样做)。

那么如何确定是否需要下载图像?

更奇怪的是:当我的结果块 requestImageForAsset:targetSize:contentMode:options:resultHandler: 被调用以获取需要下载的图像时,在交付了一个较小且降级的版本之后,我得到了最后一次调用,请求图像 == nil。

在这种情况下,降级是否,即使我没有图像并且图像仍然必须从 iCloud 下载,因为到目前为止只有照片应用程序中的一个小缩略图在本地可用。

我在具有不同 iOS 8 版本(8.1.x、8.2 beta、8.3 beta)的 iPhone 和 iPad 上对此进行了测试,行为始终相同。

在照片应用程序中打开图像后,结果处理程序的最后一次调用具有完整大小的图像,但 PHImageResultIsInCloudKey 仍然是 YES。

这是我如何请求图像的一些代码:

0 投票
1 回答
1299 浏览

ios - fetchAssetsWithLocalIdentifiers:options: 我的照片流不工作

我在 Photos Framework 中遇到了奇怪的事情:如果我从子类型的 PHAssetCollection 中获取 PHAsset PHAssetCollectionSubtypeAlbumMyPhotoStream,我可以枚举它们并为每个 PHAsset 获取其缩略图和所有内容。

但是,如果我尝试通过它们localIdentifier(同时存储在 db 中)获取这些 My Photo Stream 资产,fetchAssetsWithLocalIdentifiers:options:我不会得到任何结果。来自其他专辑的资产是可以的,即使是来自 iCloud ( PHAssetCollectionSubtypeAlbumCloudShared) 的资产。

任何人都有任何想法为什么会这样?

0 投票
3 回答
805 浏览

ios - PHAsset(或 ALAsset)跨设备标识符

我实际上正在创建一个 iOS 应用程序,并希望将有关照片库图片的一些详细信息存储在 SQLite 数据库中。我还希望能够在用户拥有的不同设备上共享这些数据(想象有人想在他的 iPhone 上重新组织图片,并想在他的 iPad 中检索相同的订单)。

我搜索了 Apple 文档,但没有找到任何PHAsset跨设备共享的标识符。我还尝试检查共享位置的、PHImageFileURLKeyhashValue,但它们都不是。localIdentifierPHAsset

有人已经做过这样的事情了吗?

0 投票
4 回答
4809 浏览

ios - 如何使用 PHAsset 在 iOS 8 中获取图像或视频的 MIME 类型?

我在我的应用程序中使用 PHAsset,我需要将图像和视频上传到 api,因为我需要 mime 类型的图像和视频。在以前的 iOS 版本中,我使用了以下代码,但在 iOS 8 中,我不知道如何获取 mimetype 我曾尝试查看苹果 PHAsset 编程指南但无法找到它。

寻找任何指导。

0 投票
5 回答
21988 浏览

ios8 - 如何从 PHAsset 获取 ALAsset URL?

您可以使用未记录 PHAsset.ALAssetURL的属性偷偷摸摸地进行†,但我正在寻找有记录的东西。


† 在 Objective-C 中,这会有所帮助