현재 작동중인 앱이 정상적으로 작동합니다. 라이브러리에서 사진을 선택하고 Firebase에 업로드 할 수 있습니다. 그러나 갑자기 사진 라이브러리에서 파일을 업로드 할 수 없습니다. 시뮬레이터에서 아무런 문제가 없습니다. 내 전화기에서만, 나는 그 오류를받을 것이다.파일을 가져올 수 없습니다. 오류 : 파일을 볼 수있는 권한이 없기 때문에 파일을 열 수 없습니다.
내가받은 오류가
Error Domain=NSCocoaErrorDomain Code=257 "The file “IMG_8982.JPG” couldn’t be opened because you don’t have permission to view it."
UserInfo={NSURL=file:///var/mobile/Media/DCIM/138APPLE/IMG_8982.JPG,
NSFilePath=/var/mobile/Media/DCIM/138APPLE/IMG_8982.JPG,
NSUnderlyingError=0x12ed877f0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
이것은 내가 모든 동안 그 일을 한 것처럼 이상한하지만 갑자기 오늘 작동이 중지됩니다.
내 코드는 다음과 같습니다.
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
// Clear data if picture is repicked
imageLocalURL = nil
imageData = nil
imageSelected = info[UIImagePickerControllerOriginalImage] as? UIImage
if info[UIImagePickerControllerReferenceURL] != nil {
// Image is selected from Photo Library
referenceURL = info[UIImagePickerControllerReferenceURL] as? NSURL
} else {
// Image is taken from camera
imageData = UIImageJPEGRepresentation(imageSelected!, 1.0)
}
transportImage.image = imageSelected
dismissViewControllerAnimated(true, completion: nil)
}
func saveDetails() {
if imageSelected != nil {
if referenceURL != nil {
// Image is from photo library
let assets = PHAsset.fetchAssetsWithALAssetURLs([referenceURL! as NSURL], options: nil)
let asset = assets.firstObject
let checkValidation = NSFileManager.defaultManager()
asset?.requestContentEditingInputWithOptions(nil, completionHandler: { (contentEditingInput, info) in
self.imageLocalURL = contentEditingInput?.fullSizeImageURL
// I did this to check if there is a local URL and if the file exist, but it returns false
print(self.imageLocalURL)
print(checkValidation.fileExistsAtPath("\(self.imageLocalURL)"))
self.uploadTask = storageRef.child(filePath).putFile(self.imageLocalURL!, metadata: nil) { (metadata, error) in
if let error = error {
print("Error uploading: \(error.description)")
return
}
}
} else if imageData != nil {
let imageLocalData = UIImageJPEGRepresentation(imageSelected!, 0.8)
let metadata = FIRStorageMetadata()
metadata.contentType = "image/jpeg"
uploadTask = storageRef.child(filePath).putData(imageLocalData!, metadata: metadata) { (metadata, error) in
if let error = error {
print("Error uploading: \(error)")
return
}
}
UIImageWriteToSavedPhotosAlbum(imageSelected!, nil, nil, nil)
}
카메라에서 이미지를 가져 오는 경우에도 아무런 문제가 없습니다. 사진 라이브러리에서 이미지를 가져온 경우 해당 오류가 발생합니다.
나는 수색을 시도했는데 Option+Clean
빌드를 시도했다. 나는 Projects->derived data-> delete
에 갔다 나는 컴파일러가 디폴트다는 것을 검사했다.
누구든지이 문제를 도와 줄 수 있습니까?
휴대 전화에서 앱을 삭제하고 다시 설치 하시겠습니까? – random
예. 했어요. 나는 내 전화에서 삭제, 나는 청소하고 다시 작성합니다. – Chris