问题标签 [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 回答
687 浏览

scroll - 带有 PHAsset 的 SDWebImage

我有一个应用程序,我从数据库中加载大量图像并将它们显示在我的画廊中,我之前所做的是我从 PHAsset 获取照片 url(本地标识符),然后使用 PHCacheManager 访问图像,但它变慢了我的滚动并且在更新新单元格中的图像时也会显示滞后。我试图在这里通过将 url 传递给 sd_setImageWithURL: 方法来使用 SDWebImage,但是我发现 URL 实际上是该方法不支持的本地标识符。我们是否有其他机制,我可以使用标识符使用 SDWebImage 或任何其他框架更快地加载图像。

这是我的代码:

photoPath 是我的资产“要加载的当前图像”的路径

我得到的网址是:

73F05642-CAE6-49BE-879B-9B00BF15391F/L0/001

请询问是否需要更多信息,我是 iOS 和所有这些东西的新手。提前致谢 :)

0 投票
1 回答
1345 浏览

ios - 按日期获取照片 - iOS

免责声明——我是 iOS 新手,也是这个论坛的新手。我需要在特定日期(比如说 1 月 9 日至 1 月 12 日)拍摄照片。我不想查看照片库中的所有照片以提高应用程序的性能。我正在寻找一些公共 API 来完全满足我的要求。苹果是否Photo Framework支持按日期获取照片集?是PHFetchOptions解决方案吗?如果是,使用它的正确方法是什么?

0 投票
2 回答
653 浏览

ios - 根据“人脸”元数据获取 PHAsset

在 Mac 中使用照片,用户可以在照片中标记人物。然后,这些数据会同步到云端,他们可以在云端在 iOS 上的“照片”中进行面部搜索。元数据的类型似乎是“人脸”。是否有可能获得与其中一张面孔相关的所有资产?我想抓取其中有某个人的所有图像。你可以在 iOS 中的照片搜索中做到这一点,所以我希望它也对其他开发者开放。

有没有人有任何想法?

提前致谢。

0 投票
0 回答
300 浏览

ios - 在 PHoto 框架 fetchMomentsWithOptions 查询中使用本地化标题键

我想过滤掉所有在 iOS8 中没有本地化标题的时刻。为此,我使用了 Photo 框架和本地化标题键。但是,这个键似乎根本不能作为 fetchMomentsWithOptions 中的一个选项。确实,如果我尝试以下操作:

它不返回任何事件,如果我这样做

此获取结果返回照片库中的所有时刻。正如任何人遇到同样的问题

0 投票
2 回答
146 浏览

ios8 - 使用照片库:如何添加/检索每张照片的位置?

我正在尝试通过 iOS 8 的照片库获取照片的位置。
该文档说 PHAsset 类具有“位置”属性。

在此处输入图像描述

因此,我尝试通过附加到运行 iOS 8.3 的 iTouch 上的 Xcode v6.3 查看“位置”……评估我的 iTouch 照片库:

(lldb) po 资产 5C9845F2-6BFD-410B-8222-FFBCE5FFD4A8/L0/001 mediaType=1/0,assetSource=6,(3008x2000),creationDate=2015-04-05 22:40:28 +0000,位置=0 , 隐藏=0, 收藏=0

(lldb) po assets.creationDate 2015-04-05 22:40:28 +0000

(lldb) po asset.location 错误: :1:1: error: 'PHAsset' 没有名为 'location' 的成员 assets.location ^ ~~~~~~~

即使我在“资产”对象中看到“位置”属性,我也无法访问它……显然没有“位置”数据。

问题:
1)为什么调试器说 PHAsset 没有“位置”属性,而我可以看到它(...具有零值;并且在文档中进行了描述)?

2)假设照片中没有位置数据,我如何让我的 iTouch(和 iPhone)相机记录它的位置? 注意:这是基于 Wi-Fi 的 iTouch;不是 iPhone。

0 投票
1 回答
554 浏览

ios - 使用 PHFetchResult 的“enumerateObjectsUsingBlock”时出现编译器错误

我遇到了以下编译错误:

无法使用类型为“((_,_,_)-> Void)”的参数列表调用“enumerateObjectsUsingBlock”

我认为通过这个 XCode6.3 的屏幕截图可能更容易理解我的情况。

在此处输入图像描述

此代码用于测试使用该fetchAssetsWithMediaType方法获取 PHAsset 对象。如您所知,此方法返回具有枚举方法的 PHFetchResult。我试图枚举结果中的所有对象enumerateObjectsUsingBlock。不幸的是,Swift 编译器给了我一个错误。经过长时间的调查,我最终得出结论,该代码是正确的。

供您参考,上面的代码是通过谷歌搜索找到的,用于测试 PHAsset。

0 投票
2 回答
857 浏览

ios - PhotoKit 框架:PHAsset 的assetSource 是什么?

当我打印 PHAsset的描述时,它包括assetSource=3assetSource=0。我可以知道这个assetSource是什么意思吗?像 3,0 这样的数字与什么有关?根据我对assetSource=3 的特定PHAsset 的观察,它的ALAssetsLibrary defaultRepresentation URL包括ext=MOV和assetSource = 0 的PHAsset,它的ALAssetsLibrary defaultRepresentation URL包括ext=mov。assets-library URL ext 和assetSource 是否相关?我请求某人澄清我的问题。

我已经浏览了以下链接PHAsset: What is 'assetSource'? . 但是没有得到澄清。

0 投票
0 回答
3279 浏览

ios - PHAsset fetchAssetsWithLocalIdentifiers 按 localIdentifier 顺序返回assetFetchResults

我在 Apple 文档、Apple 论坛或 stackOverflow 中找不到这个问题。我试图创建代码并查看各种选项的结果。

看来,如果未提供排序描述符,则对 [PHAsset fetchAssetsWithLocalIdentifiers] 的调用会按本地标识符顺序返回资产。使用为选项传递“nil”的技术,我可以复制现有 PHAsset 集合的排序顺序。

在开发人员文档中,我找不到用于 PHAsset 的排序描述符的选项,该选项将覆盖此默认操作以满足我的需要。我正在将 assetsFetchResults 加载到一个 transientAssetCollection 中,它限制了资产的添加和删除(根据 Apple 文档)。

fetchAssetsWithLocalIdentifiers 有没有办法按照调用时提供的数组中的本地标识符的顺序返回资产?如果调用将按照数组所在的顺序返回资产,那么应用程序可以控制结果......

我在文档中遗漏了什么吗?

谢谢你,托尼

更新:我已经尝试为 fetchAssetsWithLocalIdentifiers 编码排序选择器来覆盖获取结果的排序。但是,即使 Apple 文档表明“localIdentifier”是 PHAssets 的有效键,程序也会因排序键无效而失败。

0 投票
1 回答
1719 浏览

ios - 将 PHAsset 获取结果限制为仅 3 个资产

我需要获取按拍摄日期排序的三张照片——最新的是最近拍摄的。我目前这样做的方式是获取所有照片资产,然后在适当的索引(0、1、2)处获取资产。虽然这可行,但我很好奇当我只对前三名感兴趣时是否有更有效的方法来做到这一点。文档解释 fetch 不会返回所有图像数据 - 仅返回元数据,但我仍然不需要获取所有元数据。是否有一个PHFetchOption我可以用来限制获取,或者一个NSPredicate,或者没有必要担心?

0 投票
2 回答
2403 浏览

ios - 仅获取 PHCollectionList 中的专辑

APHCollectionList是可以包含任意数量的专辑和/或文件夹的文件夹。我目前正在通过 获取列表中的集合PHCollection.fetchCollectionsInCollectionList(list, options: nil)

这可能会返回PHAssetCollection或类型的对象PHCollectionList。我只对知道PHAssetCollection该列表中的 s 感兴趣。文档声明您可以使用 fetch 选项应用过滤谓词以返回数据的子集,但我不知道如何使用它来仅获取专辑。您如何使用PHFetchOptions才能PHAssetCollection在给定的情况下仅返回 s PHCollectionList