Как сохранить выбранные фотографии из библиотеки фотографий iPhone в каталог документов? - PullRequest
0 голосов
/ 31 мая 2018

Ошибка домена = NSCocoaErrorDomain Code = 257 «Файл« IMG_0125.PNG »не может быть открыт, потому что у вас нет разрешения на его просмотр.»UserInfo = {NSFilePath = / var / mobile / Media / DCIM / 100APPLE / IMG_0125.PNG, NSUnderlyingError = 0x1c045d130 Ошибка домена = NSPOSIXErrorDomain Code = 1 «Операция не разрешена»}}

Я получаю вышеошибка при использовании приведенного ниже кода

do{
    try filemanager.copyItem(at: sourceURL, to: dirConPath1)
}catch let error as NSError{
    print(error.debugDescription)
}

Также я добавил:

    <key>NSPhotoLibraryUsageDescription</key>
    <string>want access of photos</string>
    <key>NSPhotoLibraryAddUsageDescription</key>
    <string>photos save description.</string>

в info.plist

Я использую Swift 4.1 и Xcode 9.3.1.

1 Ответ

0 голосов
/ 31 мая 2018

Если вы хотите сохранить изображение в локальном каталоге, поместите этот метод в ваш файл и просто вызовите его с вашим изображением и именем изображения ...

func saveImageToDocumentLocal(name:String,image:UIImage)  {
                let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
                let random = arc4random()
                let fileURL = documentsDirectory.appendingPathComponent("\(name)\(random)")
                if let data = UIImageJPEGRepresentation(image, 0.5),
                        !FileManager.default.fileExists(atPath: fileURL.path) {
                        do {
                            try data.write(to: fileURL)
                            print("file saved")
                            print(fileURL.path)

                        } catch {
                            print("error saving file:", error)
                        }
                }else{
            }
        }
...