2012-06-26 4 views
6

<> <> ---- に失敗し、私はちょうどので、私は正しい答えとしてことを選ぶことができます待っています。それまでは、彼が以下で説明する変更を加えながら、私はself.library = [[ALAssetsLibrary alloc] init]と呼ぶ必要がありました。 - 私のイメージを保存するすべての試みの前に。予防措置として、私はまた、保存後まで使用(ISが再起動されたとき、実行AVSessionを停止【セッションstopRunning];および[セッションstartRunning]; ----- <> <>iOS5を保存する画像は、ALAssetsLibraryはAalokはこの質問に答えた

<> < > ----- EDIT 2:あなたは、AVセッションを停止して再起動する必要が徹底的にこれをテストし、それが完璧に働いていない-----> < <>

<> <> - 。 --- 3を編集:完全に私のデバイス上でこれをテストした後、完全に動作し、コードはレビュープロセスを経て店に出てから作業しないでください。 2つの同一のデバイス(2x iPhone 4)が同じOSを使用していて、1つが私のdevビルドを使用していて、1つはアプリケーションから離れていますが、apストアのバージョンにはまだバグがあります。今、それが動作

http://www.touch-code-magazine.com/ios5-saving-photos-in-custom-photo-album-category-for-download/

-----今のところこれで> <> <をあきらめ、私はカスタムフォルダに保存しようとするために、このリンクにカテゴリを使用していますいくつかの時間が、すべてではありません。私が持っている

if ([group valueForProperty:ALAssetsGroupPropertyURL] == nil) 
{ 
NSLog(@”group properties are nil!”); 
} else { 
[group addAsset:asset]; 
} 

、およびプロパティがnilであれば、それは検出しない:コメントでは、グループのプロパティがnilであれば、次のコードが検出されることが示唆されています。だからすべて良い。私が苦労しているのは、その時点でプロパティを設定して画像を保存することです。私はこの時点で手動でアルバム名を設定し、私が試した画像を保存することができると推測していますが、まだエラーが発生しています。

アイデア?ありがとうございました。

+2

これは結構ですそれ以外の場合は、セッションを停止する必要がありますそれ以外の場合は、画像を取得し、次のビューに移動し、画像を保存しようとしたときにエラーが発生します –

+0

OK、ありがとうございます。私のアプリでは、これが起こっている間に何かをする能力を取り除いて問題にならないようにしますが、将来のバージョンではこれを考慮に入れます。 – mrEmpty

答えて

4

私はこの同じ.hと.mファイルで同じ問題に直面していますが、2〜3日間作業した後にこの解決策を見つけると解決策は非常に簡単です。

-(void)saveImage:(UIImage*)image toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock

と私はちょうど他の1

のための内部方法

//THE CHANGE dispatch_async(dispatch_get_main_queue(),^{ // 
[self writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)image.imageOrientation completionBlock:^(NSURL* assetURL, NSError* error) 
    { 
     //error handling 
     if (error!=nil) 
     { 
      completionBlock(error); 
      return; 
     } 
     //add the asset to the custom photo album 
     [self addAssetURL: assetURL toAlbum:albumName withCompletionBlock:completionBlock]; 
    }]; 
//THE CHANGE }); // 

及びそれを呼び出す前にこれを追加し

-(void)addAssetURL:(NSURL*)assetURL toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock

方法で内メートルファイルハッピーコーディング:)第2の方法では

EDIT

私は

[[NSNotificationCenter defaultCenter] postNotificationName:kSaveSuccess object:nil]; 

すべてのcompletionBlock(nil);行の下の行を追加します。そして、私はイメージがあまりにもアルバムに保存されていることを確認するために、この通知を使用しています。その時まで私はUIActivityIndicatorと何らかのテキストメッセージを表示し、画像が正常に保存された後、画像がアルバム名のアルバムに保存されていることを示す1つのポップアップメッセージが表示されます。そして今回ながら、UIは、:)デバイスのホームボタンを押すと、他のすべてのことを行うことができない応答しない、すなわちユーザーである;)コーディング:)ハッピー

あなたが同じビューではなく、場合に留まる場合

+1

問題がある場合は、この問題が私のために解決されたのでお知らせください:) –

+2

2番目の機能では、変更が__blockの上または下になりますBOOL albumWasFound = NO;ライン?今夜は非常に遅くまで家にいません。投稿していただきありがとうございます。 – mrEmpty

+0

__block BOOL ....行の下にあります。 YWC、あなたに役立つことを愛する。 :) –

関連する問題