问题标签 [phphotolibrary]

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

ios - 从 PHAsset 获取大小(高度和宽度)

有没有办法从PHAsset对象中获取图像的高度和宽度。

我正在尝试使用自定义UICollectionViewLayout(有点像 Pinterest 应用程序的主页)制作图像选择器,我已将照片库中的所有照片作为PHAsset对象提取到数组中。但是我需要从PHAsset委托方法的对象中获取图像的大小collectionView:layout:sizeForItemAtIndexPath:

有没有一种快速的方法来实现这一目标?

0 投票
1 回答
70 浏览

ios - 移动而不是复制到 PHPhotoLibrary

我的 iOS 应用程序录制了一段视频(在 中NSTemporaryDirectory()/...),我想将它保存到相机胶卷中。

这工作正常,但为了节省磁盘空间,我想将文件移动到相机胶卷,而不是复制它。那可能吗?

0 投票
0 回答
414 浏览

ios - 从 NSData 创建图像并使用 PHPhotoLibrary 保存它

我正在尝试使用从蓝牙收集的 NSData 创建图像。数据保存在 NSData 变量 recdata 中,然后使用 imageWithData 将其转换为图像。我正在尝试使用下面的代码将此图像保存到照片库中。但我没有在照片库中看到图像。我错过了什么吗?

另外,当我在做这个项目时,我从蓝牙接收数据,我不知道如何检查 iPhone 屏幕上的错误消息。目前,我正在使用 [信息 setText:[NSString stringWithFormat:@"%@", error.localizedFailureReason ]]; 从完成处理程序打印错误消息。但是什么都没有打印出来,应用程序崩溃并关闭。

0 投票
0 回答
1328 浏览

ios - 如何使用 PHPhotoLibrary 保存 GIF?

我有一个显示来自互联网的 GIF 的应用程序,我正在尝试添加将 GIF 保存到相机胶卷的功能。我正在使用PHPhotoLibrary并且我试图使用我在几个 SO 问题中看到的方法将其保存到相机胶卷中,例如这个

然而,这给了我failed to save gif Optional(Error Domain=NSCocoaErrorDomain Code=-1 "(null)"),这似乎是因为 .gif 文件格式,但我找不到另一个如何在不使用已弃用的 .gif 文件的情况下保存到相机胶卷的示例ALAssetsLibrary.writeImageDataToSavedPhotosAlbum

我尝试从 Safari 中保存 GIF,并且效果很好:发送给其他人时 GIF 动画,所以我知道我想要做的事情是可能的,但是有人可以指出我 PHPhotoLibrary API 的正确部分吗?

编辑:基于this answer to a similar question,我想出了如何做我想做的事情DataPHAssetCreationRequest如下所示:

0 投票
0 回答
171 浏览

ios - iOS照片库:资产删除后唯一标识符可以重用吗?

我有一个应用程序检查照片库中的更改。我的应用程序使用 PHAsset 本地标识符来跟踪此资产发生的任何更改。

我的问题是,如果用户从照片库中删除图像,照片应用程序可以将此标识符用于未来的图像吗?

0 投票
0 回答
553 浏览

ios - 单元测试 PHFetchResult

我正在尝试对检索资产集合和资产进行单元测试。为了被允许访问我的相册,我必须授予权限。这通常发生在第一次调用类似的函数时,fetchAssetCollections或者手动调用PHPhotoLibrary.requestAuthorization().

现在的问题是我如何在运行单元测试时假设我有权限?因为我一打电话PHAssetCollection.fetchAssetCollections(withLocalIdentifiers: [ album ], options: nil)就得到一个PHUnauthorizedFetchResult.

0 投票
0 回答
340 浏览

ios - 使用 GPUImage 捕获过滤后的图像并使用元数据保存到照片库

我正在为 iOS 10 开发一个简单的应用程序。我需要实时过滤相机提要,然后捕获并保存过滤后的图像。

使用 GPUImage,我已经能够使用GPUImageStillCamera. 我也在使用PHPhotoLibraryAPI:

问题是当这张图片被保存时,元数据(例如相机和设备信息)丢失了。如何使用过滤器保存此图像,但仍保留图像元数据?

0 投票
2 回答
570 浏览

ios - PHAssetChangeRequest failing for UIImage taken with camera

I'm having an issue implementing a camera View Controller for an iOS app that I'm working on. When a button is pressed, I have a singleton camera object that manages the AVFoundation side of things and captures the image. As you can see below, once the UIImage is captured from the camera, I pass a completion block that utilizes it.

The first method below is an action that fires when the capture button is pressed on the camera. First, the camera layer is paused by disabling the connection on the preview layer, then the image is captured. Then, the camera object captures the UIImage, at which point I remove the camera preview layer from the view and instead add a UIImageView subview with the captured image in its place.

Next, I want to add the image to the album I have created in Photos using the Photos framework. I can create the album without an issue, and I have verified that the PHAssetCollection object. I am using in the second method is the correct one.

For some reason, however, I can't add the UIImage I capture to the album. I tried to add a random image file I had in my project to the album, and the operation completed successfully. I have also verified that the correct image is successfully being passed to the addPhotoToSavedPhotos method by using NSLog statements to check the image description in both methods. This leads me to believe that something is wrong with the image somehow, but the imageView displays it successfully, so I'm not sure what that might be.

If anyone has any ideas of solutions I might try, I would appreciate it. Also the error.localizedDescription from the NSLog statement in the second method outputs "The operation couldn't be completed. (Cocoa error -1)."

0 投票
3 回答
2725 浏览

ios - PHPhotoLibrary 在获取 placeholderForCreatedAsset 时崩溃

我尝试使用以下代码将图像放入自定义相册:

所以,我在这一行的用户日志中遇到了很多错误createAssetRequest.placeholderForCreatedAsset

喜欢

1 CoreFoundation __exceptionPreprocess + 1245624

2 libobjc.A.dylib objc_exception_throw + 34136

3 张照片 __48-[PHChangeRequestHelper generateUUIDIfNecessary]_block_invoke + 116552

2 libdispatch.dylib _dispatch_semaphore_wait_slow + 79828

3 张照片-[PHChangeRequestHelper generateUUIDIfNecessary] + 115992

4 张照片-[PHAssetCreationRequest placeholderForCreatedAsset] + 244020

所以[PHChangeRequestHelper generateUUIDIfNecessary]给我崩溃。

我只在iOS > 10上看到这个,我无法在模拟器中复制它。

它是什么?如何解决?

0 投票
2 回答
483 浏览

ios - 在自定义相册中显示照片,但不在相机角色/我的照片流中

我正在研究 PHPhotoLibrary,我在其中创建相册并将图像保存到其中。但是,保存到相册的图像也会出现在“相机胶卷”和“我的照片流”中。

我搜索了很多,没有发现任何实质性的东西。

我写了一个如下的函数,从相机角色和我的照片流中删除照片。

这段代码执行得很好,但我仍然在这两个地方看到了图像。

所以,我得出一个结论,相册只是照片的逻辑分组,一切都在相机角色和/或我的照片流中。是这样吗?

如果是的话,有没有办法(至少)让它隐藏在相机胶卷/照片流中?我想让照片仅在我的自定义相册中可见。