2016-12-16 3 views
-1

iOS의 프레임 워크에서 Xcode8/Swift3/iOS10의 documentDirectory가 쓰기 불가능한 것처럼 보입니다.iOS10 + Xcode8 documentDirectory 이상한 동작

API의 사용/시도 :

FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) 

NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) 

이 (마지막 하나는 내가 이해할 수있는, 스위프트에 선호하지 않는 것)

나는 URL에 파일을 작성하려고 할 때마다 이제

가 반환 이 영역에서는 그렇게 할 수없는 것 같습니다 (시뮬레이터와 장치 모두). 컨테이너를 다운로드하거나 검사 할 때 파일을 표시하지 않습니다 (여러 가지 작성 방법을 시도했습니다). 또한 쓸 디렉터리를 만들려고하면 실패하는 것 같습니다.

이상한 점은 사용 된 API 나 FileManager 자체에서 반환 된 오류가 없다는 것입니다.

내가 실종 됐다는 끔찍한 점이 있습니까? 내가 신고해야 할 벌레인가? 현재 나는 Library /에있는 디렉토리를 만드는 것으로 옮겼습니다. 작동하는 것처럼 보이고 Library/Cache /처럼 휘발성이어서는 안됩니다. - 당신이 대신 디렉토리 경로에 전달하는

let URLs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) 
let data = Data.random(32) // Generates a 32 byte long random blob 
try! data.write(to: URLs.last!) // Crashing here with a forced unwrap is fine 
+0

첫 번째 경로는 두 번째 경로 인 –

+0

@LeoDabus 예이지만이 API 다음의 코드에서이 URL을 처리합니다. 그래도 좋은 점. 예를 들어 애플리케이션 지원에 액세스 할 때 귀찮습니다. –

+1

디렉토리에 쓰기 위해 사용하는 코드를 표시 할 수 있습니까? – retainCount

답변

0

시뮬레이터를 완전히 재설정하고 Xcode를 다시 시작해야합니다. 재미있는 것들.

0

당신이 잘못되었습니다 드리고자 경로를 : (나는이 작업을 수행하기로 결정하기 전에 realm.io가 사용되었다)

코드 작성하는 데 사용 만들려는 파일의 경로.

let path = NSString(string: URLs.last!.path).appendingPathComponent("foo.txt") 
+0

지금까지 입력 해 주신 시간에 감사드립니다. 그러나 이렇게 해 보았습니다. 많은 도움이되지는 않지만 file : // 부분을 제외한 두 경로는 완전히 동일한 문자입니다. 구현 후 컨테이너 : https://www.dropbox.com/s/rj8hufkc0yb9lx6/Screenshot%202016-12-17%2001.54.59.png?dl=0 –