- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户从 iPhone 图库上传图片时,我使用 ALAssetsLibrary
提取位置:
ALAssetsLibrary* assetslibrary = [[ALAssetsLibrary alloc] init];
[assetslibrary assetForURL:urlPhoto
resultBlock:^(ALAsset *asset) {
CLLocation *location = [asset valueForProperty:ALAssetPropertyLocation];
} failureBlock:^(NSError *error) {
NSLog(@"Can not get asset - %@",[error localizedDescription]);
}];
但是,如果用户上传一张图片,然后返回到上传屏幕并上传另一张图片,则在上传三到四次之后,应用程序会在运行 assetForURL:resultBlock 时因
方法。EXC_BAD_ACCESS
崩溃: failureBlock:
我猜这是因为 assetForURL:resultBlock:failureBlock:
运行异步并且 ALAssetsLibrary
由于某种原因被释放,尽管它不能像我那样同时运行构建了应用程序。
如何防止它崩溃?
编辑
尽管崩溃始终发生在此时(由于较早的关闭),但发生错误的原因是之前已释放的 UITableView
,但此时引用了其委托(delegate)/数据源。修复添加:
- (void) dealloc
{
myTableView.dataSource = nil;
myTableView.delegate = nil;
}
位于具有 TableView 的 UIViewController
末尾。
最佳答案
只需将您的对象更改为属性即可。
界面:
@property (nonatomic, strong) ALAssetsLibrary* assetslibrary;
比调用实现:
if (self.assetslibrary == nil) {
self.assetslibrary = [[ALAssetsLibrary alloc] init];
}
[self.assetslibrary assetForURL:urlPhoto
resultBlock:^(ALAsset *asset) {
CLLocation *location = [asset valueForProperty:ALAssetPropertyLocation];
} failureBlock:^(NSError *error) {
NSLog(@"Can not get asset - %@",[error localizedDescription]);
}];
关于iOS - 多次调用 ALAssetsLibrary 时访问错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828809/
我正在尝试从照片库中提取所有图像。问题是方法 [ALAssetsGroup enumerateAssetsUsingBlock:] 是异步的,所以当我尝试使用 Assets 时,枚举器还没有开始填充我
我使用以下代码从相机胶卷加载图像。但是当图像显示在 uiimageview 中时,图像有时会向左旋转 90 度。我该如何纠正这个问题?谢谢! ALAssetsLibraryAssetForURLRes
我正在尝试访问在照片库中拍摄的最后一张照片,一切正常,除非照片库没有照片我的应用程序崩溃了!我怎样才能找到停止崩溃的解决方案?这是我的代码: -(void)importLastImage {
我正在制作一个相机应用程序,我想在其中获取用户在其 iPhone 上创建的所有视频。 目前我的代码只能从用户相机胶卷中获取视频。我的一些用户提示说,他们在相册应用程序下创建了多个自定义文件夹,并在其中
我想为 ALAssetsLibrary 权限消息添加自定义权限消息。类似于像 CLLocationManager 的目的。我搜索了这个但没有找到任何解决方案。 任何建议都是有帮助的。 最佳答案 在 I
使用下面的代码我可以在 tableview 中获取视频文件。但是我无法获取视频的路径,因此我无法保存它并在以后使用它来播放。 - (void)viewDidLoad { [super
以下代码成功检查了用户库中所有照片的 EXIF 数据,并将在给定位置附近拍摄的一组照片以及 传递给完成 block 在该位置拍摄的最新照片的 NSDate。 - (void)getPhotosAtLo
当我使用 ALAssetsLibrary 获取本地照片时,它工作正常。但是在我使用“照片”应用程序删除一些照片后,我的应用程序崩溃了。 崩溃信息是: “由于未捕获的异常‘NSRangeExceptio
当您第一次尝试访问用户的 ALAssetsLibrary 时,操作系统会向他们显示一个对话框,要求获得许可。如果他们不允许这样做,将调用 failureBlock 并且将来会一直调用。有没有办法再次强
我使用 ALAssetsLibrary 枚举所有 Assets 组 代码如下: ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; v
我正在努力确保涵盖我关于 ALAssetsLibrary 因任何原因而失败的所有基础。在查看调用时可能发生的错误时: - (void)enumerateGroupsWithTypes:usingBlo
<><> ---- Aalok 已经回答了这个问题,我只是在等他写下来以便我可以选择它作为正确答案。在那之前,随着他在下面描述的更改,我不得不调用 -- self.library = [[ALAsse
我正在使用 AssetsLibrary 框架来检索 iPhone 中的所有 Assets 组。我有一些这样的代码片段: NSMutableArray *groups = [[NSMutableArra
我正在使用 SDK 4.1 开发一款针对 iOS 4.1 或更高版本的 iPhone 应用程序。 仪器报告以下代码的内存泄漏。 void (^resultBlock)(ALAsset *) = ^(A
我想显示一个 UICollectionView 但我在加载图像时遇到问题。 AlAssetsLibrary 不会返回到运行循环。 我得到的输出为 2013-04-12 11:36:25.429 Fil
我正在处理 ALAssetsLibrary。当我获得所有缩略图时,我只需使用 UIImageViews 来保存缩略图并将它们添加到支架中。问题就在这里,添加它们真的很慢。也许十秒或更长时间。如果照片多
我有一个包含与 assetslibrary 中的图像相对应的 imageurls 的数组,我需要在执行某个任务之前获取所有这些图像。这样做的最佳方法是什么?我应该使用 NSNotificationCe
我已经为此苦苦挣扎了一段时间:依赖 ALAssetsLibrary 的照片/视频应用程序如何?使库与磁盘库保持同步。具体来说,在应用程序被背景化后重新前景化以允许拍摄/重组/删除一些照片/视频时。 在
这已被弃用,更新后的代码是什么? ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library assetForUR
对于iPhone 4,很多API都不能用了。 我正在寻找 UIImageWriteToSavedPhotosAlbum 的替代解决方案。 ALAssetsLibrary 是 Apple 在新的 iOS
我是一名优秀的程序员,十分优秀!