사진 앨범 불러오는 데 발생하는 에러 질문 있습니다.

4 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 광현
      참가자
      • 글작성 : 15
      • 답글작성 : 26
      2,050 포인트

      “Error returned from daemon: Error Domain=com.apple.accounts Code=7 “(null)”” 에러가 발생하는 데, 그런데 PHFetchResult를 가져와서

      CollectionView 에서 사진을 볼 수 있습니다.

      기존에 Photos 를 활용해서 사진 관련 앱 코드를 그대로 따라해도 보고,

      인터넷 상에서 에러의 원인이 info.plist 에 제대로 권한 설정 문제라는 의견이 있어

      info.plist

      • Privacy – Photo Library Usage Description
      • Privacy – Photo Library Additions Usage Description

      를 추가도 해봤는데 에러 메시지는 사라지지 않는 데 해결 방법이 있을 까요?

      코드는 조금 디버깅을 위해 단순화 시켰습니다.


      import UIKit import Photos class ViewController: UIViewController { @IBOutlet private weak var collectionView: UICollectionView! let cellIdentifier : String = "HorizontalCell" let imgManager : PHCachingImageManager = PHCachingImageManager() var fetchResult : PHFetchResult<PHAsset>? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.setAuthorization() let allPhotosOptions = PHFetchOptions() allPhotosOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)] // 디버그 했을 때 fetchAssets 부분을 통과하며 "Error returned from daemon: Error Domain=com.apple.accounts Code=7 "(null)"" // 오류가 발생합니다. self.fetchResult = PHAsset.fetchAssets(with: allPhotosOptions) self.collectionView.reloadData() } func setAuthorization(){ let status = PHPhotoLibrary.authorizationStatus() switch status{ case .authorized: print("접근 권한 얻음") case .denied: print("접근 권한 거부") case .notDetermined: PHPhotoLibrary.requestAuthorization { status in switch status{ case .authorized: print("접근 권한 거부") default: break } } case .restricted: print("제한된 접근 권한") @unknown default: print("접근 권한 얻을 수 없음") } PHPhotoLibrary.shared().register(self) } }
      0
    • 광현
      참가자
      • 글작성 : 15
      • 답글작성 : 26
      2,050 포인트

      코드에서 UICollectionViewDataSource 프로토콜을 채택한 부분은 첨부하지 않았습니다.

      0
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 448
      12,990 포인트

      검색해보니 allPhotosOptions 즉, fetch options 문제일 수도 있을 것 같아요.
      fetch option 없이 해보면 잘 동작하나요?
      아니면 앨범 선택은 어떤 것으로 했나요?
      저도 확신은 못하지만 참고할 만한 링크들일 것 같아요.

      1+
      • 광현
        참가자
        • 글작성 : 15
        • 답글작성 : 26
        2,050 포인트

        야곰님이 주신 링크도 읽어보고 야곰님 말씀대로 self.fetchResult = PHAsset.fetchAssets(with: nil) 로 해보았습니다. 앨범은 .album.smartalbum 모두 해보아도 같은 에러 메시지가 뜨지만 사진은 가져옵니다.

        한동안 검색하거나 여러 가지 시도해 보면서 고쳐봐야겠습니다. 문제는 최근에 만들던 사진 어플리케이션에서는 저 에러 메시지가 안 뜨는 게 ㅎㅎ

        가로 방향의 collectionView를 연습하려고했던 게 디버깅을 더 공부하게 될 거 같습니다.

        혹시 저 프로젝트가 잘못되어서 저런가 해서 오늘 다시 가장 간단한 Photos 를 이용해서 사진 앨범 불러오는 코드를 만들어 봤는데 같은 에러 메시지가 뜨네요.

        0
        • 야곰
          키 마스터
          • 글작성 : 37
          • 답글작성 : 448
          12,990 포인트

          에구… 코코아 터치 프레임워크나 Photos 프레임워크 자체의 버그일 수도 있어요. 다른 버전이나 다른 시뮬레이터 혹은 다른 버전의 기기를 가지고도 해보세요.
          Deployment Version을 변경해서도 시도해보구요. 속상하시겠어요 ㅠㅠ

          0
    • 상헌 이
      참가자
      • 글작성 : 1
      • 답글작성 : 1
      1,230 포인트

      혹시해결하셨나요 ㅠㅠ?

      0
    • 고파 배
      참가자
      • 글작성 : 1
      • 답글작성 : 2
      1,420 포인트

      저 같은경우는 swiftui에서 같은 에러가 발생하였는데

       

      PHContentEditingInputRequestOptions에 있는 isNetworkAccessAllowed를 설정하여 해결하였습니다.

      0
4 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 260-27-00477
통신판매업 신고번호 : 제 2020-충북청주-0663 호
고객센터 : 카카오톡채널 @yagom