草庐IT

PHPhotoLibrary

全部标签

ios - 在 PHPhotoLibrary 中,photoLibraryDidChange 不会通知所有更新

我正在使用PHPhotoLibrary为我的应用程序在iPhone中的相册保存和获取图像。当我的相册有很多图片(大约5,000张静态图片)时,我的应用程序从网络下载10张图像,然后保存到相机胶卷并添加到我的应用程序的相册。同时,应用程序观察photoLibraryDidChange回调以获知添加的图像,但它只通知插入的5张图像。我通过按主页按钮完成我的应用程序,并在照片应用程序中检查相机胶卷和我的相册。正确的有5010张图片。也许photoLibraryDidChagne没有通知所有更改?我的代码如下。-(void)photoLibraryDidChange:(PHChange*)ch

ios - Swift:删除 iOS 操作扩展中的照片

所以我正在开发一个应用程序,让用户在系统照片库中选择几张照片,然后通过共享表使用操作扩展删除其中一些照片。我正在使用extensionContext.inputItems获取所选照片的​​URL:letextensionItems=(self.extensionContext!.inputItemsas![NSExtensionItem]).first!letattachments=extensionItems.attachments!as![NSItemProvider]forproviderinattachments{provider.loadItem(forTypeIdentif

ios - Swift:HEIC 图像的 PHAssetChangeRequest 失败

我想对图库中的图像(由iPhone相机拍摄)执行编辑,例如JEPG压缩,但当输入图像是HEIC图像,但适用于JPEG图像。我通过UIImagePickerController方法在PHAsset对象中检索图像:funcimagePickerController(_picker:UIImagePickerController,didFinishPickingMediaWithInfoinfo:[UIImagePickerController.InfoKey:Any]){ifletasset=info[UIImagePickerController.InfoKey.phAsset]as?P

ios - 禁用 PHPhotoLibrary 删除 Assets 中删除请求的确认?

我的问题是,如果我的应用程序创建了该Assets,我如何禁用对[PHAssetChangeRequestdeleteAssets:assets]删除请求的确认,这样我的应用程序应该能够在没有确认的情况下删除Assets?[[PHPhotoLibrarysharedPhotoLibrary]performChanges:^{[PHAssetChangeRequestdeleteAssets:assets];}completionHandler:^(BOOLsuccess,NSError*error){NSLog(@"Finisheddeletingasset.%@",(success?@

ios - 重置 [PHPhotoLibrary 授权状态]

在测试我的应用程序时,我希望能够重置+[PHPhotoLibraryauthorizationStatus]以检查应用程序在库未获得授权时是否正常运行。我已尝试删除并重新安装应用程序,但是,授权状态仍然是PHAuthorizationStatusAuthorized。这对现实世界中的用户来说非常有用,但在开发过程中我想要一种重置它的方法。在“设置”应用中禁用该应用会禁用它,但不允许我向用户显示授权对话框。感谢任何见解。 最佳答案 我让它工作的唯一方法是用Simulator->ResetContentandSettings对模拟器进行

ios - 将其他相机拍摄的 DNG(原始照片)保存到 iOS 照片库

我写了一个应用程序,从我的理光GRII读取dng文件并将它们保存到iOS10的照片库,代码如下letphotoLibrary=PHPhotoLibrary.shared()photoLibrary.performChanges({PHAssetChangeRequest.creationRequestForAsset(from:image)}){(success:Bool,error:Error?)->Voidinifsuccess{print("Savingphotook")}else{print("Errorwritingtophotolibrary:\(error!.locali

ios - xcode 8 & swift 3 - PHPhotoLibrary.requestAuthorization 崩溃

我已经将我的项目升级到swift3并使用Xcode8现在,当我想要访问照片时,我遇到了崩溃,控制台中没有任何信息。我已将“隐私-照片库使用说明”添加到我的info.plist中。请参阅下面的图片了解更多信息。谢谢礼萨 最佳答案 我的项目中似乎有多个.plist,我错误地编辑了错误的.plist 关于ios-xcode8&swift3-PHPhotoLibrary.requestAuthorization崩溃,我们在StackOverflow上找到一个类似的问题:

ios - 保存后获取与PHAsset相同的NSData

你知道有没有办法在使用PHPhotoLibrary保存后获得相同的NSData图像(JPG,PNG)?OfC,iOS将在保存后修改一些元数据和EXIF-->(Timestamp,...)data但是,我问的是UIImage数据(包括相同的EXIF数据)。我没有在我的代码中复制exif,但它不起作用所以让我们谈谈代码:保存图片并获取哈希值UIImage*tmp=[[UIImagealloc]initWithData:tmpData];tmpData=UIImageJPEGRepresentation(tmp,1.0);self.str1=[tmpDataMD5];[[PHPhotoLib

ios - 未调用 PHPhotoLibrary 更改观察器

我似乎遇到了一个我不知道为什么会发生的随机问题。我似乎无法让观察者调用photoLibraryDidChange:(PHChange*)changeInstance。我做了几个空白项目,所有项目都在证明这个问题,更改观察者有时会在初始应用程序安装时被调用,但在我在照片应用程序中执行更改后永远不会被调用。我也重置了模拟器无济于事。如果能提供任何帮助,我将不胜感激。代码:#import#import@interfaceViewController:UIViewController@end-(void)viewDidLoad{[superviewDidLoad];[PHPhotoLibrar

ios - 检测仅添加照片权限

在iOS11中,我们现在有“仅添加照片”权限设置。但是我们现在如何确定设置了哪个照片库访问级别?[PHPhotoLibraryauthorizationStatus]仅适用于“读写”权限检查。如果应用仅请求“仅添加照片”权限,则它会保持PHAuthorizationStatusNotDetermined。如果用户将其从“读写”更改为“仅添加照片”,它会给出PHAuthorizationStatusDenied。那么,我如何判断我的应用程序是否有权执行“导出到相机胶卷”功能,而该功能不需要读取权限? 最佳答案 从iOS11开始,为了获