问题标签 [alasset]
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.
iphone - 我可以在访问 ALAsset 时更改核心位置警报消息吗?
我正在使用 ALAssets 框架来访问照片库。第一次访问它时,它会询问用户应用程序是否可以使用他们的当前位置,我理解这是必要的以及为什么。
但是,在核心位置管理器中,有一个目的属性,看起来我可以自定义 iPad 的警报消息来说明为什么需要点击是。(我实际上不使用位置,只是想访问照片库。)
我似乎无法弄清楚如何找出在哪里使用此属性,因为当我第一次尝试枚举资产时会出现警报消息,并且在错误发生之前似乎没有任何地方可以拦截它如果用户说不。
我知道我可以在首次使用 ALAssets 之前发布自己的通知,以期待 iPad 内置警报,但更改实际 iPad 消息似乎更巧妙。
谢谢。
iphone - 从 ALAssset 检索时的 CGImage 方向问题
我刚刚开始学习 iPhone 应用程序开发。我正在尝试使用 ALAsset 类从我的相册中检索照片并将照片上传到我的服务器。但是,在正确上传风景照片时,以人像模式拍摄的照片会向左旋转 90 度。我究竟做错了什么?在 NSLog 中,我确实看到方向为 3,但照片仍向左旋转 90 度。任何帮助将不胜感激。
这是我的代码片段:
iphone - 使用 ALAssetsLibrary 访问单个图像
请允许我先说这是我第一次使用 ALAssetsLibrary。我需要访问用户保存的照片库中的最新照片。似乎要做到这一点,我必须创建一个 ALAssetsLibrary 实例并在选择最后一个图像之前遍历用户库中的每个项目。这总是最坏的情况。有没有更快/更好的方法来解决这个问题?
objective-c - enumerateGroupsWithTypes 在主线程中轮询时不会执行块
在 iOS 4.x 上,我试图枚举设备上的所有照片,当完成后,再以相同的方法进一步处理该列表。
由于 enumerateGroupsWithTypes 的块在另一个线程上异步运行,我看不到如何阻止主线程继续执行,我的解决方案是保持进一步处理从开始直到准备好是轮询我正在收集的照片数组,直到它看到它通过在最后包含一个 NSNull 对象来完成填充。
在 iOS 4.0 上它工作正常——轮询继续,因为另一个线程枚举照片,然后在完成后在主线程上继续执行。在 iOS 4.1+ 上,轮询是如何阻止另一个线程执行它的任何块,因此轮询陷入无限循环。
除了通过将进一步处理分解为枚举块可以调用的不同方法来接受枚举的异步性质之外,是否有更好的方法来实现这一点?
奖励积分:为什么我的投票方法适用于 4.0 而不是 4.1+?
objective-c - 从后台线程上的 ALAssetRepresentation 获取 fullScreenImage
我需要用来自 ALAssets 的 UIImage 实例填充一些 UIImageView 实例(大约 10 个)。我不想在这样做的时候锁定主线程,所以希望尽可能多地在后台线程中做。从 ALAsset 获取 CGImage 是最耗时的,所以我想把它放在后台线程中。
我遇到的问题是只有第一个图像实际上被正确加载。任何其他 UIImageView 实例最终都是空的。
下面是我的(简化的)代码。processAssets 方法遍历一个资产数组,并在后台线程上调用 loadCGImage。此方法从 ALAsset 获取 fullScreenImage 并将其传递给主线程上的 populateImageView,主线程使用它来生成 UIImage 并填充 UIImageView。
我不确定为什么这不能正常工作。有任何想法吗?
iphone - ALAsset 时间戳返回错误的日期
我正在尝试获取图像的时间戳,我可以获得正确的纬度和经度值,但时间戳总是返回当前时间,而不是图像的 EXIF 时间。
任何帮助表示赞赏,谢谢
iphone - 如何从资产网址保存视频
我想将视频从资产 url 保存到我的应用程序文档中。我的资产网址如下:-
我试过这个: -
但是在第二行 [NSData dataWithContentsOfURL:[NSURL URLWithString:str]] 我得到了程序崩溃,原因是:- 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSURL 长度]:无法识别的选择器发送到实例
我想知道如何访问资产视频网址。
感谢任何帮助。
iphone - ALAssetsLibrary 的 enumerateGroupsWithTypes:usingBlock:failureBlock: 在 iOS 4.3.4 中是否“损坏”?
我正在开发一个基于 ALAssetsLibrary api(自 4.0 起可用)的 iOS 应用程序,我使用它来检索保存在设备上的所有图像和视频,并且这样做非常简单。无论如何,一旦我在 iPhone 4 上安装了 iOS 4.3.4,我的代码就停止了工作。调用获取的行什么也不做!代码如下(在 iOS 4.3.3 上运行良好):
似乎enumerateGroupsWithTypes:usingBlock:failureBlock:永远不会被调用,因为我的块都没有被执行......并且没有引发错误!为什么?我能做些什么?
ps:我试图改变“类型”参数,但这不是问题!
iphone - ALAsset ,将照片发送到 Web 服务,包括其 exif 数据
我想将照片从相机胶卷发送到网络服务 - 包括其 exif 数据。我使用 ASIFormDataRequest - 所以我这样做:
为了节省内存,我直接想发送文件:
所以我需要资产的本地路径。我想我无法获取资产的本地路径,所以我暂时将资产保存到文件中:
然后稍后我使用这条路径来做
图像被发送到服务器 - 但没有我需要的 exif 数据。除此之外,我认为必须有更聪明的方法来做到这一点。
蒂亚
objective-c - 从 ALAsset URL 创建时,AVAsset 没有轨道或持续时间
我正在从 ALAssetsLibrary 中提取所有视频资产(基本上是从本机相机应用程序录制的所有内容)。然后,我对每个视频资产进行枚举,对每个视频执行此操作:
NSLog 报告我从 ALAsset 获得的 AVAsset 有 0 个轨道,持续时间为 0.0 秒。我检查了网址,它是“assets-library://asset/asset.MOV?id=9F482CF8-B4F6-40C2-A687-0D05F5F25529&ext=MOV”,这似乎是正确的。我知道 alAsset 实际上是一个视频,并且是正确的视频,因为我已经显示了 alAsset.thumbnail,并且它显示了视频的正确缩略图。
所有这一切让我相信 avAsset 的初始化出现了问题,但对于我的生活,我无法弄清楚出了什么问题。谁能帮我?
更新:
我想我已经确认 ALAssetRepresentation 给我的 url 是错误的,这很奇怪,因为它给了我正确的缩略图。我在以下位置添加了此代码:
它给了我这个:
我仍然不确定是什么原因造成的。我唯一注意到的是网址,即“assets-library://asset/asset.MOV?id=9F482CF8-B4F6-40C2-A687-0D05F5F25529&ext=MOV”与我所看到的不同一直在寻找这个。我在其他地方看到的那个看起来更像“assets-library://asset/asset.MOV?id=1000000394&ext=MOV”,用数字而不是字母数字、破折号分隔的名称。
如果有帮助,我正在使用 XCode 4.2 Beta 和 iOS5。如果你能想到什么,请告诉我。谢谢。