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

ios - iOS 照片库读取权限

在用户允许我们访问他的相机胶卷之后。我们想从我们的应用程序中获取数据并将其上传到我们的服务。有没有办法从文件中访问视频数据?打开视频文件的唯一方法是创建一个 AVAsset。但这对我来说还不够。

我知道关闭

但就我而言,我只想将视频上传到我们不想做的服务:

  1. 首先通过导出到我的本地应用程序数据来复制视频
  2. 然后将该数据发送到我们的服务。
  3. 删除数据。

上面的这种方法会占用大量额外的空间和时间,并且对于拥有完整 16GB iPhone 的用户来说效果不佳。

好的,这就是我到目前为止使用 URL 所尝试的

这会记录以下内容:

0 投票
2 回答
1375 浏览

ios - iOS 图像、photokit、图像方向

我正在使用 iOS 8 和新的 PhotoKit 开发 iOS 应用程序,我迭代用户图像,我试图通过代码找出图像是垂直的还是水平的?我可以检查资产上的标志吗?

0 投票
5 回答
11994 浏览

ios - 如何识别 PHAsset 是否未完全从 iCloud 下载(因此我需要使用 options.networkAccessAllowed 再次请求)

文档说:

PHImageResultIsInCloudKey:一个布尔值,指示照片资产数据是存储在本地设备上还是必须从 iCloud 下载。(NSNumber) 如果是,则没有提供图像,因为资产数据必须从 iCloud 下载。要下载数据,请提交另一个请求,并为 networkAccessAllowed 选项指定 YES。

但是,当资产存储在 iCloud 照片库中时,此密钥始终为 YES,即使它已经完全下载到设备(在我的应用程序中下载它,也在照片应用程序中打开它)。

如果图像不可用,我想让用户有可能下载它(但不要自动下载,至少在没有 Wifi 时不会这样做)。

那么如何确定是否需要下载图像?

更奇怪的是:当我的结果块 requestImageForAsset:targetSize:contentMode:options:resultHandler: 被调用以获取需要下载的图像时,在交付了一个较小且降级的版本之后,我得到了最后一次调用,请求图像 == nil。

在这种情况下,降级是否,即使我没有图像并且图像仍然必须从 iCloud 下载,因为到目前为止只有照片应用程序中的一个小缩略图在本地可用。

我在具有不同 iOS 8 版本(8.1.x、8.2 beta、8.3 beta)的 iPhone 和 iPad 上对此进行了测试,行为始终相同。

在照片应用程序中打开图像后,结果处理程序的最后一次调用具有完整大小的图像,但 PHImageResultIsInCloudKey 仍然是 YES。

这是我如何请求图像的一些代码:

0 投票
2 回答
13112 浏览

ios8 - 从文件 URL 中检索 ALAsset 或 PHAsset

在 Photos.app 中选择图像以传递给动作扩展似乎会产生磁盘上图像的路径(例如:)file:///var/mobile/Media/DCIM/109APPLE/IMG_9417.JPG。有没有办法获得相应的 ALAsset 或 PHAsset?

该 URL 看起来与PHImageFileURLKey您从调用中获得的条目相对应PHImageManager.requestImageDataForAsset。我不想必须遍历所有 PHAsset 才能找到它。

0 投票
1 回答
2424 浏览

ios - PhotoKit:使用 requestImageForAsset 通过 PHImageManagerMaximumSize 获取资产时崩溃 [assetsd 被中断或死亡]

我正在尝试使用 UIPageViewController 显示图像,使用来自苹果的示例代码并将其替换为新的照片工具包:PHAsset https://developer.apple.com/library/ios/samplecode/MyImagePicker/Introduction/Intro.html#/ /apple_ref/doc/uid/DTS40010135 当我用 PHImageManagerMaximumSize 刷照片时,我发现在 50 张照片之后,应用程序会崩溃并显示“assetsd 中断或死亡”。但是,如果我要求更小的目标尺寸(与屏幕尺寸相同),那么崩溃就不太可能发生了。我想知道这是我的应用程序中某处的内存泄漏还是渲染系统有问题?似乎压缩和解压缩使用了很多页面。谁能帮我看看?

------ 登录控制台 ----------

2015-02-27 22:35:20.613 XXX [2831:145514] ImageViewController,-[ImageViewController didReceiveMemoryWarning] 2015-02-27 22:35:22.111 XXX [2831:145558] 到 assetsd 的连接被中断或 assetsd 死了

-------- 崩溃日志 ---------

空闲页面:1361 活动页面:26954 非活动页面:13499 推测页面:40 限制页面:0 可清除页面:0 有线页面:59258 文件支持页面:11321 匿名页面:29172 压缩:6474001 解压缩:704086 压缩器大小:151510 未压缩页面在 Compressor 中:212409 页面大小:16384 最大进程:iGather

进程名称 | | CPU时间| rpages| 可净化| 最近_最大| 寿命_max| fds | [原因] | (状态)

assistant_servic <97db64323f2e364ea0af497680126850> 0.485 1451 0 - 4111 50 [vm-pageshortage] (daemon) (idle) medialibraryd <6a42c5e99f153b4baa0992e9902bee82> 0.296 1037 0 - 2072 50 [vm-pageshortage] (daemon) (idle) WirelessRadioMan 0.077 285 0 - 890 50 [ vm-pageshortage] (daemon) (idle) awdd <58036e1703903ee798a8803de204c300> 0.070 402 0 - 1043 50 [vm-pageshortage] (daemon) (idle) assetsd <276c271c5b073f58bf87c49abf22b264> 0.188 679 0 - 1907 50 [vm-pageshortage] (daemon) (闲置)出售<18863ab32c7634d5b7f200821acffd06> 0.030 193 0 - 696 50 [vm-pageshortage] (daemon) passd <56971afa88b53f05a37688cad47b4160> 0.243 630 0 - 2384 50 [vm-pageshortage] (daemon) nfcd <59e46913bec838d989d5bed82cb05791> 0.023 184 0 - 624 50 [vm-pageshortage] ( daemon) biometrickitd <71607be9393c366eb1bbe281256fde77> 0.141 273 0 - 841 50 [vm-pageshortage] (daemon) debugserver 0.306 207 0 - 629 50 [vm-pageshortage] (daemon) MobileMail <4b48abd990e93dbea47db1.cb957 1496 0 - 4063 50 [vm-pageshortage] (resume) (continuous) lsd 1.213 364 0 - 1032 50 [vm-pageshortage] (daemon) tccd 0.132 238 0 - 593 50 [vm-pageshortage] (daemon) kbd <8c8bded31cf730db2b44eaa969 > 0.116 344 0 - 1447 50 [vm-pageshortage](守护进程) iGather 3.610 23061 0 - 21099 50 [vm-pageshortage](最前面)(恢复)...213 364 0 - 1032 50 [vm-pageshortage](守护进程)tccd 0.132 238 0 - 593 50 [vm-pageshortage](守护进程)kbd <8c8bded31cf73db2b44aa996c0e90921> 0.116 344 0 - 1447 360 iGather 361 [vm-pageshortage](守护进程) 0 - 21099 50 [vm-pageshortage](最前面)(简历)...213 364 0 - 1032 50 [vm-pageshortage](守护进程)tccd 0.132 238 0 - 593 50 [vm-pageshortage](守护进程)kbd <8c8bded31cf73db2b44aa996c0e90921> 0.116 344 0 - 1447 360 iGather 361 [vm-pageshortage](守护进程) 0 - 21099 50 [vm-pageshortage](最前面)(简历)...610 23061 0 - 21099 50 [vm-pageshortage](最前面)(简历)...610 23061 0 - 21099 50 [vm-pageshortage](最前面)(简历)...

0 投票
1 回答
4710 浏览

ios - iOS 8、PhotoKit、PHAsset、唯一标识符

在 iOS 8 的应用程序上工作并处理大量照片,我需要唯一标识 PHassets 但找不到任何要使用的属性?我找到了一处房产

记录在这里

https://developer.apple.com/library/ios/documentation/Photos/Reference/PHObject_Class/index.html#//apple_ref/occ/instp/PHObject/localIdentifier

有没有办法在 PHAsset 上拥有一个唯一的 ID?PHObject 使用起来有点重。

0 投票
2 回答
2452 浏览

ios - 将图像从照片加载到集合视图会导致错误消息“与 assetsd 的连接被中断或 assetsd 死亡”

我正在尝试将用户相册中的所有图像加载到我的应用程序的收藏视图中,但在加载了其中一些后,应用程序将自行关闭并返回主菜单。与 XCode 的连接也断开了。这不会发生在模拟器中,而只会发生在我正在测试的 iPhone 4s 中。在它崩溃之前出现的错误消息是,按照发生的顺序,

  1. 收到内存警告
  2. 与 assetsd 的连接中断或 assetsd 死机。

我已经收集了我认为导致此问题的代码的几个部分。

我相信我需要释放内存,但不确定要释放什么。似乎是正在加载到集合视图的单元格中的图像。

我还发现集合视图不超过 4 个图像。在第四张图片之后,发生了崩溃。此外,图像未按顺序加载。

0 投票
5 回答
21988 浏览

ios8 - 如何从 PHAsset 获取 ALAsset URL?

您可以使用未记录 PHAsset.ALAssetURL的属性偷偷摸摸地进行†,但我正在寻找有记录的东西。


† 在 Objective-C 中,这会有所帮助

0 投票
4 回答
5917 浏览

ios - PHAsset 的 PHFetchOptions 与 Photos.app 的排序顺序相同

我正在使用新的 PHFetchOptions 的 sortDescriptors 从相机胶卷中获取 PHAsset。似乎只有两个键可以排序:creationDate 和 modifyDate,这两个键都与您在 Photos.app 中看到的不同。

我错过了什么吗?我们怎样才能让它发挥作用?

0 投票
1 回答
422 浏览

ios - iOS:如何使用照片框架(iOS 8.0)?

如何使用照片Framework (iOS 8.0)?我想得到一个可以在UICollectionView.