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

ios - 使用 PHPhotolibrary 删除大量图像

嗨,我在删除大量图像时遇到了性能问题。我正在使用以下代码进行删除。

它适用于一小组图像,没有任何性能问题。但是当我尝试删除 1500 张照片(包括连拍图像)时,完成块内的回调几乎需要 20 分钟,这绝对是一个问题。有趣的一点是,iOS 默认的照片应用程序用了不到一分钟的时间就删除了这组图像。我错过了什么?

任何帮助将不胜感激 :)

0 投票
1 回答
109 浏览

uiview - 在 Swift 2 中拍摄照片后显示缩略图

当尝试加载和显示刚刚拍摄的照片的缩略图时:

其中makeSelectedItemButton()是:

PhotoHelper ().getThumbnailWithIdentifer是:

这会导致按钮在照片制作后至少显示 5 秒。使用旧照片执行时,相同的功能可以快速且按预期工作。这里有什么问题?

0 投票
2 回答
925 浏览

ios - 删除 PHAsset 时的 Dsiable 授权请求

我有一个从相机胶卷中删除照片的应用程序。此擦除是远程启动的。因此,如果启动擦除并且用户不在他们的手机上,他们将不会擦除,因为您需要授权删除每个图像。

现在我已经读过这在不同的问题中是不可能的。但是,当应用程序在第一次启动时完成加载时,是否可以像使用地理定位一样请求对手机照片库的授权。这是否会授予删除授权而无需对每张照片进行确认?

这就是我目前删除照片的方式,除了需要确认删除每张图片外,它工作正常

0 投票
1 回答
584 浏览

ios - 在 PHPhotoLibrary 删除资产中禁用删除请求的确认?

我的问题是如何禁用对 [PHAssetChangeRequest deleteAssets:assets] 的删除请求的确认,如果我的应用程序创建了该资产,那么我的应用程序应该能够在不确认的情况下删除资产?

谢谢..

0 投票
1 回答
1180 浏览

ios - 在一个变更块内将新资产添加到新资产集合

在查看 PHPhotoLibrary 框架后,我已经能够成功创建和添加新的图像资产和集合,但我遇到的问题是无法成功创建新的资产集合并在相同的更改块。

如果我在一个更改块中创建一个相册作为资产集合,然后在完成后,在另一个更改块中创建一个图像作为资产,它会按预期工作。此外,如果我已经有一个相册并查询该相册,我可以成功地将图像作为资产添加到该相册。

PHAssetCollectionChangeRequest类文档指出:

要将资产添加到新创建的资产集合或更改其标题,请使用修改资产集合中列出的方法。要稍后在同一更改块中或更改块完成后引用新创建的资产集合,请使用 placeholderForCreatedAssetCollection 属性来检索占位符对象。

我要么误读了它,要么它实际上没有能力按照它所说的去做——将资产添加到新创建的资产集合中。

以下代码在完成处理程序中“成功”完成,但是当进入 iOS Photos.app 时,只创建相册,没有添加图像(尽管图像按预期添加到相机胶卷)。

导致问题的原因是 PHObjectPlaceholder 不能用作 PHAssetCollection,因此他们所说的“参考”不能以这种方式使用,所以这是我无法理解的根本问题:

如果有帮助,这是使用两个更改块的代码:

0 投票
2 回答
4774 浏览

objective-c - PHPhotoLibrary 获取相册和照片信息

我正在尝试使用 PHPhotoLibrary 获取有关所有相册/照片的信息。我几乎不知道目标 C,我看过一些教程/示例,但找不到我需要的一切。

这是我基于我的代码的示例代码的链接。 https://developer.apple.com/library/ios/samplecode/UsingPhotosFramework/Introduction/Intro.html#//apple_ref/doc/uid/TP40014575-Intro-DontLinkElementID_2

到目前为止,我能够获得专辑名称和标识符。我得到了一张照片列表,我也能得到它们的标识符,但不能得到文件名。但是,如果我在我的函数中设置一个断点并查看我的 PHAsset 指针值,我可以在那里看到文件名(在 _filename 内),但是如果我尝试使用其中的文件名调用变量,则该变量不存在。

因此,如果有人可以提供示例代码来获取有关专辑/照片/缩略图的所有信息,那就太棒了。或者只是获取文件名将是一个很好的帮助。

这是我到目前为止尝试过的代码:

正如你所看到的,我可以得到图像的高度和宽度,它的 id,但不能得到它的 url。

0 投票
0 回答
1405 浏览

macos - 获取:在导入照片时禁用模块时使用“@import”

我正在尝试使用新的照片框架为 osx 创建一个插件。于是我新建了一个 Xcode 项目(使用版本 7.1 (7B91b)),我选择了 osx 下的 bundle 模板,然后在项目中集成了我所有的文件。

但在线:

我收到错误:禁用模块时使用“@import”。

我在网上查了一下,发现很多人对不同的导入有同样的问题。但是他们的解决方案对我不起作用。这是我尝试过的: - 在我的构建阶段添加了 Photos.Framework。- 在构建设置中启用模块(启用模块(C 和 Objective-C))。- 有人建议用#import <....photo.h> 替换@import Photos,但我不知道要包含哪个 .h 文件

那么有谁知道如何解决这个问题?

0 投票
2 回答
10228 浏览

ios - PHPhotoLibrary 请求授权,不请求

为了测试,我试图重新创建系统“请求访问”弹出体验。

更新:
iOS 11下,删除App后,系统弹窗会再次出现。


(上一个问题)

应用程序第一次运行(也是唯一一次)时,系统弹出窗口显示,请求访问。之后,即使删除应用程序并重新启动设备也不会再次触发该弹出窗口。

换句话说,设备会“记住”用户请求,并且无法重置它。

这是代码:

在设置中关闭访问时,它会继续打印“PHAuthorizationStatusDenied”。但不显示任何弹出窗口。立即返回。

建议将“捆绑显示名称”添加到 plist。尝试无济于事,空值、$(PRODUCT_NAME) 和不同的字符串。

清理项目,删除 DrivedData(每次都从模拟器中删除 App)。没运气。

更多信息:

一旦您在“设置”中关闭照片访问,Apple 示例代码“SamplePhotosApp”就会崩溃。

0 投票
0 回答
925 浏览

ios - 快速将 UIImage 保存到照片库中失败

我正在使用 swift PHPhotoLibrary 类将图像保存在照片库中。下面是我的代码:

但我总是收到此错误消息: Optional(Error Domain=NSCocoaErrorDomain Code=-1 "(null)") 此错误由 else 行打印:"print(error)"

有谁知道问题是什么?

0 投票
1 回答
320 浏览

ios - 重置 [PHPhotoLibrary 授权状态]

在测试我的应用程序时,我希望能够重置+[PHPhotoLibrary authorizationStatus]以检查应用程序在库未经授权时是否正常运行。

我已经尝试删除并重新安装该应用程序,但是授权状态仍然存在PHAuthorizationStatusAuthorized。这对现实世界中的用户来说非常有用,但在开发过程中我想要一种重置它的方法。

在设置应用程序中禁用该应用程序会禁用它,但不允许我向用户显示授权对话框。

感谢您的任何见解。