Dev_Log

[ios] 웹뷰 아이패드에서 파일다운로드 에러

LeeDaniel 2022. 3. 18. 11:06
WKWebView에서 파일다운로드시
아이폰에서 문제없는 코드가 아이패드에서 에러발생

[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.

Try this: (1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it. 

 

✔ Solution

아이패드일경우 파일다운로드 팝업의 위치를 세팅하도록 수정

DispatchQueue.main.async {
  let activityVC = UIActivityViewController(activityItems: [localFileURL], applicationActivities: nil)
                    
  activityVC.popoverPresentationController?.sourceView = self.view
  activityVC.popoverPresentationController?.barButtonItem = self.navigationItem.rightBarButtonItem
                    
  // 아이패드일때 다운로드팝업의 위치를 지정해줘야함(하지 않을경우 레이아웃 에러 발생)
  if UIDevice.current.userInterfaceIdiom == .pad {
                        
    // 다운로드팝업의 위치를 세팅
    activityVC.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0)
                        
    // 다운로드팝업의 화살표 방향을 세팅
    activityVC.popoverPresentationController?.permittedArrowDirections = [.up]
    
  }else{
    activityVC.popoverPresentationController?.sourceRect = self.view.frame
  }

  self.present(activityVC, animated: true, completion: nil)
}

 

반응형