2011-08-05 8 views
1

私は自分のアプリケーションでELCImagePickerControllerを使用しました。 初めてアプリケーションを起動したときにイメージギャラリーにユーザーの場所へのアクセスを要求しますが、ユーザーの場所にアクセスできないとUIAlertViewにエラーが発生し、イメージギャラリーが表示されません。ユーザー位置へのアクセスを許可しないELCImagePickerController

その後、アプリ - >位置情報サービス - > [アプリのアクセス場所の切り替えをオンにする]に進み、アプリを起動 - >ギャラリーページに移動 - >アプリでイメージギャラリーを表示できます。

私の質問は、ELCImagePickerControllerを使ってイメージギャラリーを表示する方法です。私たちのアプリの位置情報サービスをオフにするか、ユーザーがアプリケーションの場所にアクセスできないようにします。 ELCImagePickerControllerがELCAlbumPickerController.mは、ユーザーの場所へのアクセスは、「答えはあなたができることです

dispatch_async(dispatch_get_main_queue(),^
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

    // Group enumerator Block 
    void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) 
    { 
     if (group == nil) 
     { 
      return; 
     } 

     [self.assetGroups addObject:group]; 

     // Keep this line! w/o it the asset count is broken for some reason. Makes no sense 
     NSLog(@"count: %d", [group numberOfAssets]); 

     // Reload albums 
     [self performSelectorOnMainThread:@selector(reloadTableView) withObject:nil waitUntilDone:YES]; 
    }; 

    // Group Enumerator Failure Block 
    void (^assetGroupEnumberatorFailure)(NSError *) = ^(NSError *error) { 

     UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:@"Album Error: %@", [error description]] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
     [alert show]; 
     [alert release]; 

     NSLog(@"A problem occured %@", [error description]);          
    }; 

    // Enumerate Albums 
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];   
    [library enumerateGroupsWithTypes:ALAssetsGroupAll 
          usingBlock:assetGroupEnumerator 
         failureBlock:assetGroupEnumberatorFailure]; 


    [library release]; 
    [pool release]; 
});  

答えて

2

、オフ時に負荷が、これはエラー、警告が発生しましたビューに移動し、ファイルを見つけるその後、このLINK

でダウンロードすることができロケーションサービスをオフにしてELCImagePickerControllerでイメージギャラリーを表示します。

ELCImagePickerControllerは、アセットライブラリフレームワークを使用してデバイスのフォトアルバムにアクセスします。このフレームワークは場所データを含む写真のメタデータにもアクセスできるため、ユーザーはアプリが位置情報サービスを使用するための許可を与える必要があります。あなたが標準UIImagePickerControllerを使用している場合、ユーザーがアクセスを拒否された場合

+0

(私は仮定しているが、アプリの要件をカバーしません)以外

は、それが資産からではなく負荷の画像を行い、これを回避する方法はありません私は彼がELCImagePickerControllerをロードするときに再びアクセスを求めたい –

関連する問題