私は自分のアプリケーションで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];
});
(私は仮定しているが、アプリの要件をカバーしません)以外
は、それが資産からではなく負荷の画像を行い、これを回避する方法はありません私は彼がELCImagePickerControllerをロードするときに再びアクセスを求めたい –