问题标签 [photosframework]

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

ios - 如何请求授权以使用自定义视图访问照片/相机胶卷?

当应用程序要求访问相机胶卷/相册时,如何创建将覆盖“警报视图”的自定义视图?提前致谢!

0 投票
5 回答
11668 浏览

ios - 在 iOS8 上使用 UIImagePicker 结果 URL 和 PHAsset 从“我的照片流”加载图像

我已将应用程序从 ios7 更新到 ios8,并且努力让 UIImagePicker 工作以从“我的照片流”类别的照片中加载图片。UIImagePicker 实现是标准的,我使用以下命令检索所选照片的​​ URL:

然后我使用新的 IOS8 API 来加载这张照片:

这行不通。result.count 为零,没有找到图像。URL 的 UUID 与我从“时刻”或“相机胶卷”中选择照片的 UUID 不同,但看起来格式正确。(手机运行的是 8.1):

网址 NSURL * @"assets-library://asset/asset.JPG?id=4522DBD1-862C-42BE-AF7C-0D6C76CA7590&ext=JPG"

任何人都有一些代码可以从“我的照片流”中加载照片,或者有一种方法可以为 UIImagePicker 显示禁用它?

使用较旧的 ALAssetsLibrary assetForURL API 也无法加载这些图像。

0 投票
4 回答
4364 浏览

ios - 使用 Photos 框架请求照片时内存泄漏

我正在使用以下方法来请求一些照片并将它们添加到数组中以供以后使用:

当照片数量少于 50 张时,这可以正常工作。在内存跳转到 150-160mb 之后,我收到消息Connection to assetsd was interrupted or assetsd died并且应用程序崩溃。在获得我想要的资产后,如何从内存中释放资产 (PHFetchResult)?(我需要吗?)我希望最多可以添加 150 张照片。有任何想法吗?谢谢

0 投票
1 回答
1038 浏览

swift - 照片框架 - 如何从 PHAsset 获取图像的 CLLocation?

我能够从 PHFetchResults 成功获取图像并将其加载到 UIImage 中,但是当我尝试获取图像的位置时,出现错误:

  • 运行时 NSLog 语句中的“致命错误:在展开可选值时意外发现 nil”。

如果我NSLog用以下语句替换上述语句以获取描述(或任何其他属性,如长度、像素尺寸等 NSLog 正确返回它),它不会引发错误。

我尝试使用 PHImageManger.requestImageDataForAsset 等。我得到了许多其他属性,如下所示,但位置。

请指教。

0 投票
0 回答
1676 浏览

ios - 您可以使用 PhotoKit 获取“最近删除”中的照片吗?

我已经扫描了 API,到目前为止一无所获。我会采取PHAssetCollection“最近删除”的方式,或获取个人PHAssets 的方式。

我不推荐(或不推荐),但在 API之外有一些解决方案,但可能仍然可以通过 AppStore:

  1. 您可以将未记录的智能相册 ID 用于“最近删除”,1000000201. 请参阅这个 SO 问题

  2. 您可以过滤中的文本"assetSource=3"PHAsset.description请参阅此 SO 答案

0 投票
1 回答
702 浏览

ios - 在 PhotoKit 中删除:您可以跳过“最近删除”吗?

从 iOS8 开始,当您删除照片时,它会进入一个名为“最近删除”的垃圾箱模拟。当您通过 Photos.app 或 PhotoKit API(使用PHAssetChangeRequest.deleteAssets())删除时会发生这种情况。

然后在 Photos.app 中,您可以进入“最近删除”,并真正删除该照片。有没有办法在 PhotoKit 中做到这一点?

0 投票
2 回答
9227 浏览

ios8 - 从 fetchAssetsWithALAssetURLs 返回的 PHAsset:使用 UIImagePickerController 从“我的照片流”相册中选择照片时始终为零

我正在使用 aUIImagePickerController让用户选择要在应用程序中共享的照片或视频。当用户在他们的库中选择一个媒体项目时,我在其中一个UIImagePickerController's委托方法中执行此代码:

两者都if statements适用于照片和视频,除非您从名为 的相册中选择一个项目"My Photo Stream"

当您从中选择一个项目时"My Photo Stream",返回PHAsset的始终是nil

我发现以下问题似乎可以通过有效的解决方案得到答案:ALAssetsLibraryassetForURL:在 iOS 8.1 中的“我的照片流”中始终为照片返回 nil

但是上面的链接使用了AssetsLibrary苹果不再推荐的框架:

“在 iOS 8.0 及更高版本中,使用 Photos 框架而不是 Assets Library 框架。Photos 框架为使用用户的照片库提供了更多功能和更好的性能。请参阅 Photos Framework Reference。”

我需要能够为相册PHAsset中的媒体项返回对象。"My Photo Stream"现在,字典中返回的参考 URLUIImagePickerControllerinfo登录控制台的有效 URL,但使用此 URL 时,PHAsset永远不会返回有效对象。

didFinishPickingMediaWithInfo:以下是在委托方法的信息字典中返回的参考 URL 示例:

0 投票
8 回答
21949 浏览

ios - 照片框架。requestImageForAsset 返回两个结果。无法设置图像视图

所以我使用 SwipeView 库 ( https://github.com/nicklockwood/SwipeView ) 来使用 iOS8 的照片框架显示图像。

但是,当我调用 requestImageForAsset 时,我注意到我得到了两个结果,一个是缩略图大小,另一个是我想要的更大的大小。但是,较大的图像没有及时加载(我理解它被称为异步)返回,所以它返回了小图像。

这段代码可能更有意义。

这是日志输出:

如您所见,它在接收到大图像之前返回图像视图。如何让它返回这个更大的图像,所以它不显示缩略图?

谢谢。

0 投票
3 回答
17191 浏览

ios - 照片框架:与 assetsd 的连接被中断或 assetsd 死亡

当我尝试使用这个 swift 库 ( https://github.com/piemonte/player ) 播放多个视频时出现此错误。不确定它是否与该播放器有关,或者与照片框架或其他什么有关。

发生的情况是,我有一个可以显示照片或视频的视图。一切正常几次,直到播放了几个视频,然后会弹出此消息,然后所有视频都无法播放,而在它们的位置,您只会看到黑屏,然后出现内存使用错误。

我正在使用一个名为 SwipeView 的库,这里有一些可能会有所帮助的相关代码。

任何想法都会很棒。

0 投票
4 回答
12780 浏览

ios - 照片框架 requestImageDataForAsset 偶尔会失败

我在 iOS8.1 上使用照片框架,并使用 requestImageDataForAsset 请求资产的图像数据...大多数情况下它都有效,我得到图像数据和包含您在下面看到的内容的字典。但有时调用完成,但数据为零,字典包含三个外观通用的条目。

调用按顺序在同一线程上执行。它并不特定于任何特定的图像。该错误将发生在我过去成功打开的图像上。有没有人遇到过这个?

这是我获取图像数据和元数据字典的理想结果:

这是我偶尔得到的。图像数据为零。字典包含的不多。