【问题标题】:Error code in saving images by PHPhotoLibraryPHPhotoLibrary 保存图像时的错误代码
【发布时间】:2016-11-12 07:14:36
【问题描述】:

到目前为止,我的代码使用 ALAssetsLibrary 在 iPhone 上获取/保存图像。 目前我正在从 ALAssetsLibrary 切换到 PHPhotoLibrary

在迁移过程中,我查找了错误代码,例如, ALAssetsLibraryWriteBusyErrorALAssetsLibraryWriteDiskSpaceError,但我做不到。 当我的应用程序无法保存图像时。我想通过显示错误对话框让用户知道原因。

我保存图片的代码如下,

- (void)savePhotoFile:(NSURL *)fileURL completion:(savePhotoFileCompletion)completion
{
    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{

            PHAssetChangeRequest *assetChangeRequest;
            assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL:fileURL];

            if (self.assetCollection) {
                PHAssetCollectionChangeRequest *assetCollectionChangeRequest =
                    [PHAssetCollectionChangeRequest changeRequestForAssetCollection:self.assetCollection];
                [assetCollectionChangeRequest addAssets:@[ [assetChangeRequest placeholderForCreatedAsset] ]];
            }
        }

        completionHandler:^(BOOL success, NSError *_Nullable error) {
            DBGLog(@"success=%@, error=%@", (success ? @"YES" : @"NO"), error);
            completion(success, error);
        }];
}

有人知道 PHPhotoLibrary 中对应的错误代码吗? 非常感谢有关此问题的任何信息。

【问题讨论】:

    标签: ios objective-c error-code phasset phphotolibrary


    【解决方案1】:

    + creationRequestForAssetFromVideoAtFileURL: 用于视频。我认为你应该改用 + creationRequestForAssetFromImageAtFileURL:

    【讨论】:

    • 像往常一样,您可以检查 NSError 代码,userInfo 属性收集错误信息并为用户准备可读消息。
    • @AliKıran 是的,我知道 NSError 中的 userInfo。我想知道 ALAssetsLibraryWriteDiskSpaceError 和 ALAssetsLibraryWriteBusyError 的对应错误信息。如果可能,我会在内部实现重试代码。
    猜你喜欢
    • 2015-04-05
    • 1970-01-01
    • 2020-05-31
    • 2011-04-07
    • 2023-01-23
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    相关资源
    最近更新 更多