问题标签 [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 投票
0 回答
2042 浏览

ios - 编辑 PHAsset 崩溃

基于 SamplePhotosApp 中的这段代码:

我创建了自己的将过滤器应用于图像的实现。我的代码:

由于许多值为零,我的片段将导致崩溃。requestContentEditingWithOptions:completionHandler 方法为 PHContentEditingInput 提供 nil,这会导致文件 url 为 nil 等许多问题。似乎 setCanHandleAdjustmentData 块也从未被调用 - 也许这就是 PHContentEditingInput 为 nil 的原因。无论如何,我应该如何解决这个问题?

0 投票
1 回答
1292 浏览

ios8 - ALAssetsGroupSavedPhotos 最近的,不是所有的,iOS8 下的视频

我们的应用程序允许用户从他们的相机胶卷中加载视频。这是非常标准的东西:

问题当然出在 iOS8 上。该代码枚举了 iOS7 下的所有视频,但在 iOS8 下,它枚举了所有最近的视频。超过 30 天的视频不可用。

事实上,当您在 iOS8 下查看照片应用程序时,您甚至都看不到相机胶卷,而只是一张“最近添加”的相册。现在,还有一个包含所有视频的“视频”专辑。在这里访问它会很好。

我们无法转换为 PhotoKit(今天)。我们很快就会这样做,但现在我们需要一个适用于 iOS7 和 iOS8 的解决方案。

0 投票
0 回答
104 浏览

ios - 检测照片编辑扩展程序何时会出现?

用户可能会开始使用我的照片编辑扩展程序编辑照片,然后他们可以关闭应用程序(照片),稍后再返回。我想知道如何处理对该资产的更改。在模板中,Apple 不处理任何更改。如果该资产不再存在会发生什么 - 它在不同的设备上被删除,或者该资产在打开后已被编辑?如果它被删除,它可能应该取消扩展,如果它被更改,它只需要更新预览图像。

我不仅应该处理资产更改,还需要处理对允许用户在主应用程序中更改的默认设置的更改,因为这会影响在扩展程序中呈现的照片预览。我想我可以简单地检测用户何时返回照片(扩展名出现在前台)然后更新预览,这将处理照片已更改且应用程序设置已更改的情况(但我不确定如果资产不再存在会发生什么)。不幸的是,当您关闭应用程序(带有扩展名的照片可见)并返回它时,此代码不会调用该函数:

如何处理资产更改以及对我的应用程序设置所做的更改,以便在关闭照片且扩展程序仍在屏幕上时返回到扩展程序时,我可以确保显示的预览始终准确?

0 投票
2 回答
2159 浏览

ios - 如何使用 PhotoKit 列出共享的照片流相册

我可以获取在设备上创建的相册列表PHFetchResult *results = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];

我想必须有一种类似的方式来获取共享照片流相册(或者我认为它们现在可能被称为“iCloud 照片共享相册”),但对于我的生活......无法弄清楚。有没有人解决过这个问题?

0 投票
3 回答
9291 浏览

ios - 如何确定 PHFetchResult 中的 PHAsset 是否代表已删除的照片?

我正在尝试使用 iOS 8 中的新照片框架获取在设备上拍摄的最后一张照片的缩略图。我现在要做的代码如下:

该代码设法抓取设备上最近拍摄的照片,但如果在设备上拍摄的最后一张照片被删除,则不考虑这一事实,并且按钮的图像设置为resultHandler. 这似乎是由于在 iOS 8 中,当您删除一张照片时,它需要 30 天才能真正从设备中删除,并且出于某种原因,这些照片仍包含在PHFetchResults.

我试图在 中PHAsset包含的对象上查找“已删除”或类似属性assetsInfo,但找不到任何类型的信息。调试器中已删除照片的打印输出如下所示:

中下一个对象的打印输出,assetsInfo我验证的照片没有被删除,如下所示:

那里似乎没有任何信息可以告诉我照片是否被删除。我认为该hidden属性可能会有所帮助,但它与照片是否出现在特定的 Photos.app 相册/收藏中有关。我认为也许该assetSource属性可能有用,但似乎没有记录在案,并且经过进一步调查,似乎也与照片的已删除状态无关。

有没有办法查看PHAsset对象是否代表已删除的照片?有没有办法缩小我要获取的资产以排除“最近删除”相册中包含的照片?

0 投票
2 回答
415 浏览

ios - 更改照片编辑扩展的标题

是否可以更改照片编辑扩展程序的标题?

目前它采用主应用程序的名称,但我们想稍微调整一下。

这可能吗?

0 投票
2 回答
11483 浏览

ios - 哪个 PHAssetCollection 用于保存图像?

在 iOS 8 的 Photos.framework 中,我试图将 UIImage 保存到用户的照片库中,就像在 Safari 中长按图像并选择“保存图像”一样。在 iOS 7 中,只需调用 ALAssetLibrary 的writeImageToSavedPhotosAlbum:metadata:completionBlock.

对于 iOS 8,我们需要选择一个资产集合来添加一个 PHAsset,但我不知道哪个 PHAssetCollection 最接近保存到用户的“相机胶卷”(即使在 iOS 中真的没有8)

我尝试访问“最近添加”智能相册,但它不允许向其中添加新内容。

0 投票
4 回答
2189 浏览

ios - IOS8。照片应用程序错误?

当我在 IOS8 的标准照片应用程序中使用过滤器时,我无法获得完整的元数据。我尝试了两种获取元数据的方法:

我没有发现任何提及应用程序照片。我得到这样的结果总是:

有没有人找到解决方案如何获取已在照片中编辑的图像的元数据?

我想看到这样的元数据:

关联

0 投票
2 回答
4263 浏览

ios8 - 为 Photokit Fetch 格式化 NSPredicate

我在理解如何为 photokit 查询制定文件管理器时遇到了很多麻烦,特别是当您只想检索某些 mediaTypes 时如何制定 NSPredicate。就我而言,我正在尝试检索所有相册(即 PHCollectionAssets),尽管我只想要这些相册中的照片。我对如何制定我的 NSPredicate 来做到这一点感到困惑。我在过滤某些 mediaSubtypes 的文档中找到了下面的代码,但我只想按 PHAssetMediaTypeImage mediaType 过滤。有人能够解释下面 NSPredicate 代码的语法,以及我如何设置一个谓词@"mediaType == %@, PHAssetMediaTypeImage",不会像现在那样导致我的 PHFetchRequest 崩溃吗?

0 投票
2 回答
443 浏览

cocoa-touch - 如何使用 PhotoKit 在 iCloud 共享相册上获取喜欢的详细信息

我有一个PHFetchResult包含用户的 iCloud 共享相册,但是我无法找到一种方法来确定一张照片是否被与之共享的人喜欢。

我检查了PHAsset返回的 s 的元数据,但唯一模糊相关的属性是favourite,但这仅记录用户是否在他们自己的照片应用程序中点击了心形按钮,而不是资产已共享的人的喜欢和。

看起来这个数据不可用——我在文档中找不到任何东西的事实表明了这一点——但我想问一下,以防 StackOverflow 知道得更好!