我有一个imagePickerController用于将照片从图库导入我的应用。在ALAssetsLibraryAssetForURLResultBlock中时,我试图确定block中的ALAsset是作为屏幕截图拍摄的照片,还是拍摄的“真实”照片通过相机。我试图浏览ALAsset的元数据字典,但找不到任何可能适合的标志/指示。有人有什么想法吗? 最佳答案 对于屏幕截图,它的UTI始终是“public.png”并且与屏幕大小相同(确保你在屏幕边界宽度和高度上乘以[UIScreenscale]),只需要检查这2个元数据,你可以轻松识别
有没有办法获取相册中图片的图片文件名和标签?我正在使用ALAssetsLibrary并且还在抓挠... 最佳答案 您可以将ALAssetLibrary对象复制到一个数组中(或更好地在本地数据库中)。使ALAsset的对象显示并给它们标记(取决于数组索引)。否则,如果您仍希望继续图像名称。您可以从UIImagePickerControllerReferenceURL获取它们。尝试使用substring函数获取名称(提示:主要是在&ext之前,也可以获取文件的扩展名。) 关于iphone-如
我正在开发一个基于ALAssetsLibraryapi(从4.0开始可用)的iOS应用程序,我用它来检索设备上保存的所有图像和视频,这非常简单。不管怎样,只要我在我的iPhone4上安装了iOS4.3.4,我的代码就停止工作了。调用获取的行什么都不做!代码如下(在iOS4.3.3上运行良好):ALAssetsLibrary*library=[[[ALAssetsLibraryalloc]init]autorelease];ALAssetsGroupEnumerationResultsBlockassetsEnumerator=^(ALAsset*result,NSUIntegerind
我尝试使用以下代码使用ALAsset从照片库中获取所有视频。现在,我想将所有视频显示到UICollectionview但它似乎没有显示任何内容。请给我一些建议。提前致谢。-ViewDidLoad():从图片库中获取所有视频allVideos=[[NSMutableArrayalloc]init];ALAssetsLibrary*assetLibrary=[[ALAssetsLibraryalloc]init];[assetLibraryenumerateGroupsWithTypes:ALAssetsGroupAllusingBlock:^(ALAssetsGroup*group,BO
iOS8通过从ALAssetsLibrary枚举API中删除“相机胶卷”破坏了许多应用程序。我知道我可以使用新的照片框架获取所有照片。但是我的应用程序有很多代码取决于ALAsset相关类,我需要保持对iOS7的支持。有没有一种方法可以在iOS8上使用ALAssetsLibary枚举所有照片,而无需先枚举Assets组? 最佳答案 Apple刚刚发布了8.0.1并将其列为包含的修复程序。可能最好等待。来自8.0.1发行说明:修复了阻止某些应用访问照片库中的照片的问题 关于ios-如何使用A
如果用户拒绝应用程序的照片访问,我知道可以通过[ALAssetsLibraryauthorizationStatus]进行检查在iOS6中,并在Settings->Privacy中重新打开它.但是在iOS5中如何查看并重新打开呢?是否可以重新请求照片访问权限?特别感谢! 最佳答案 我猜你说的是用户看到的允许应用程序使用他们的位置的请求。很抱歉,除了检测到他们拒绝了请求并告知他们遗漏了什么,并提供有关如何进入“设置”并手动更改设置的说明之外,您无能为力。您可以使用以下方法测试用户是否拒绝了位置请求:[CLLocationManager
我正在尝试找到一种方法来读取JPEG图像并将其写入用户图库(相机胶卷),而无需iOS重新压缩它们。UIImage似乎是这里的瓶颈。我发现保存到用户图库的唯一方法是UIImageWriteToSavedPhotosAlbum()。有解决办法吗?现在我的例程是这样的——向UIImagePickerController请求一张照片。当它执行FinishPickingMediaWithInfo时,执行:NSData*imgdata=[NSDatadataWithData:UIImageJPEGRepresentation([infoobjectForKey:@"UIImagePickerCon
我一整天都在研究这个,并在SO和google上查看了很多问题,但到目前为止我想不出任何正确的东西。我在运行iOS5.1.1的iPad上拍摄了一张照片,并使用照片应用对其进行了裁剪。然后我从Assets库中获得对它的引用,并获得未裁剪的全分辨率图像。我发现裁剪信息包含在AdjustmentXMP中metadata的key在我的ALAssetRepresentation目的。所以我使用XMP信息裁剪照片,这是我得到的:原始照片(1,936x2,592):正确裁剪的照片,如照片应用程序中所示(1,420x1,938):用下面的代码裁剪的照片(也是1,420x1,938,但向右裁剪了大约200
我想获得一些关于我将使用共享扩展共享的图像的额外信息。我可以从url创建UIImage,但是当我想获得一个ALAsset时,我得到了nil。有人遇到过这个问题吗?itemProvider!.loadItemForTypeIdentifier(String(kUTTypeImage),options:nil,completionHandler:{(decoder:NSSecureCoding!,error:NSError!)->VoidinifALAssetsLibrary.authorizationStatus()==ALAuthorizationStatus.Authorized{i
我正在尝试从给定的Asset-Library-Url获取UIImage对象。我想让函数为我做这件事。给定的Url是:assets-library://asset/asset.JPG?id=46811D66-DBB4-46D9-BBA2-0CF0D58FC7AD&ext=JPG我尝试了以下方法:varurl=NSURL()//url="assets-library://asset/asset.JPG?id=46811D66-DBB4-46D9-BBA2-0CF0D58FC7AD&ext=JPG"gotitfromanotherscenevarasset=ALAssetsLibrary()