【问题标题】:How to use PHPhotoLibrary like ALAssetsLibrary如何像 ALAssetsLibrary 一样使用 PHPhotoLibrary
【发布时间】:2016-02-03 16:09:24
【问题描述】:

对于 iOS9,ALAssetsLibrary 已弃用。那么如何将其更改为PHPPhotoLibrary 而不是ALAssets

if (RecordedSuccessfully && recording == NO) {
    //----- RECORDED SUCESSFULLY -----
    NSLog(@"didFinishRecordingToOutputFileAtURL - success");
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:outputFileURL])
    {
        [library writeVideoAtPathToSavedPhotosAlbum:outputFileURL
                                    completionBlock:^(NSURL *assetURL, NSError *error)
         {
             if (error)
             {

             }
         }];
    }

//这个我试过了,还是不行

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{

        PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:outputFileURL];

        NSParameterAssert(createAssetRequest);
    }
                                      completionHandler:^(BOOL success, NSError *error) {}];
    }
}

【问题讨论】:

    标签: ios objective-c ios9 alassetslibrary photosframework


    【解决方案1】:
    // Save to the album
       __block PHObjectPlaceholder *placeholder;
    
        [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
            PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:outputFileURL];
            placeholder = [createAssetRequest placeholderForCreatedAsset];
    
        } completionHandler:^(BOOL success, NSError *error) {
            if (success)
            {
               NSLog(@"didFinishRecordingToOutputFileAtURL - success for ios9");
            }
            else
            {
                NSLog(@"%@", error);
            }
        }];
    

    【讨论】:

    • 这是正确答案,你应该这样标记它:)
    • assetURL 怎么样?保存后如何获取url?
    • sharedPhotoLibrary 是如何声明的?
    • 从 ALAssetLibrary 替换assetURL 的一个好方法是使用PHObjectPlaceholder。在上面的示例中,只需使用 placeholder.localIdentifier 这将为您提供照片库中项目的路径。这是我玩弄它的经验。 @Besat
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2021-09-09
    相关资源
    最近更新 更多