2016-04-06 13 views
3

CTAssetsPickerController https://github.com/chiunam/CTAssetsPickerControllerを使用して写真アプリから画像をインポートしています。一部のユーザーが持つ可能性のある「隠し」アルバムからのインポートを無効にしたいあなたがWhat's Appと隠れたアルバムを持っているなら、あなたはそのアルバムからインポートすることができないことに気付くでしょう。私は同じことをすることができるようにしたいが、何時間も探していて、まだどこにもいない。 CTAssetsPickerControllerのためのレポを見るとCTAssetsPickerControllerに隠れたアルバムが表示されないようにする方法

- (void)showImagePickerForSourceType:(UIImagePickerControllerSourceType)sourceType { 
// Create the image picker 
// request authorization status 
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status){ 
    dispatch_async(dispatch_get_main_queue(), ^{ 

     // init picker 
     self.imagePickerController = [[CTAssetsPickerController alloc] init]; 

     // set delegate 
     self.imagePickerController.delegate = self; 
     // create options for fetching photo only 
     PHFetchOptions *fetchOptions = [PHFetchOptions new]; 
     fetchOptions.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d", PHAssetMediaTypeImage]; 

     // assign options 
     self.imagePickerController.assetsFetchOptions = fetchOptions; 

     // Optionally present picker as a form sheet on iPad 
     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
      self.imagePickerController.modalPresentationStyle = UIModalPresentationFormSheet; 

     // present picker 
     [self presentViewController:self.imagePickerController animated:YES completion:nil]; 
    }); 
}]; 

答えて

0

もう少し研究を重ねた結果、フレームワークにはアセットを無効にできる代理メソッドがあることがわかりました。

- (BOOL)assetsPickerController:(CTAssetsPickerController *)picker shouldEnableAsset:(PHAsset *)asset { 
    return !asset.isHidden; 
} 

隠されたアルバムはまだ現れ、それからインポートすると、無効になっている:私は、このメソッドを実装し、私の問題を解決するために

関連する問題