0

スクリーンショットを作成するボタンを備えたアプリを構築しています。このアプリで作成したすべてのスクリーン ショットを、同じカスタム名のアプリ アルバムに保存したいと考えています。アプリを初めて開いたときに、次のコードでアルバムを作成する方法を既に知っています。次のような写真フレームワークでアルバムを作成しています。

-(void)createAppAlbum
{

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    PHAssetCollectionChangeRequest *changeRequest = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"App Album Name"];
    albumPlaceholder = changeRequest.placeholderForCreatedAssetCollection;

}

 completionHandler:^(BOOL success, NSError *error) {
                         if (success) {
                         fetchResult = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[albumPlaceholder.localIdentifier] options:nil];
                                          assetCollection = fetchResult.firstObject;

} 
                        else {
                              NSLog(@"Error creating album: %@", error);}
                                  }];

}

したがって、私のアプリは「App Album Name」という名前のアルバムを作成します。次のようなボタンを使用して、スクリーンショットを新しいアルバムに保存できます。

 -(IBAction)screenshot:(id)sender
{

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, [UIScreen mainScreen].scale);
else
    UIGraphicsBeginImageContext(self.view.bounds.size);

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();


[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    PHAssetChangeRequest *assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];

    PHAssetCollectionChangeRequest *assetCollectionChangeRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection];
    [assetCollectionChangeRequest addAssets:@[[assetChangeRequest placeholderForCreatedAsset]]];
} completionHandler:^(BOOL success, NSError *error) {
    if (!success) {
        NSLog(@"Error creating asset: %@", error);
    }
}];

}

このviewControllerを離れて後で戻る場合に備えて、すでに作成したアルバムを見つけて、同じアルバムに別のスクリーンショットを保存したいのは、このView Controllerに入るたびに新しいスクリーンショットを作成したくないからです。

だから私の質問は、最初に作成したアルバムを名前で取得し、新しいスクリーンショットを保存するにはどうすればよいかということです.

4

1 に答える 1