2017-02-18 2 views
-1

스위프트 3, Xcode 8.2, iOS 10이미지를 파일에 쓰려면 어떻게해야합니까?

디버깅 목적으로 이미지를 잘라내 자르고 자른 이미지가 어떻게 보이는지 봅니다. 내 컴퓨터 (Mac OS X) 바탕 화면에이 이미지를 쓰려고하는데, 필자가 찾은 모든 자습서는 내 문서 디렉토리에 이것을 쓰고 있습니다.이 문서 디렉토리는 실제로 내 컴퓨터의 디렉토리가 될 것이라고 생각하지만 실제로이 위치입니다 전화 자체에 나는 접근하는 법을 알 수 없다.

지금까지이 있습니다

let finalImage : UIImage 

    let crop_section = CGRect(x: 0.0, y: 0.0, width: 1000.0, height: 1000.0) 

    let cg_image = screenshot.cgImage?.cropping(to: crop_section) 
    finalImage = UIImage(cgImage: cg_image!) 

    let documentsDirectoryURL = try! FileManager().url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) 
    // create a name for your image 
    print(documentsDirectoryURL) 
    let fileURL = documentsDirectoryURL.appendingPathComponent("cropped.png") 


    if !FileManager.default.fileExists(atPath: fileURL.path) { 
     do { 
      try UIImagePNGRepresentation(finalImage)!.write(to: fileURL) 
      print("Image Added Successfully") 
     } catch { 
      print(error) 
     } 
    } else { 
     print("Image Not Added") 
    } 

나는 ../Desktop/cropped.png 같은 뭔가 documentDirectory을 대체 할 그러나 나는이 작업을 수행하는 방법을 알아낼 수 없습니다. 어떤 도움이라도 대단히 감사하겠습니다!

+1

'iOS'는'Desktop' 디렉토리가 없습니다 ... –

+1

시뮬레이터에서 앱을 실행하면 파일이 Mac에 저장됩니다. – rmaddy

+0

또한 http://stackoverflow.com/questions/31709727/ios-load-file-from-documents-directory를 참조하십시오. – rmaddy

답변

2

나는 당신은 할 수 없습니다 ../Desktop/cropped.png

처럼 뭔가 documentDirectory를 교체합니다. 이것은 iOS 프로그램입니다. iOS 앱은 iOS 기기/시뮬레이터의 자체 디렉토리 세트에서 샌드 박스 처리됩니다. Mac OS X 데스크탑에 손을 뻗어 볼 수는 없습니다. 그것들은 두 개의 다른 우주입니다.

관련 문제