1) Создать подфайл:
platform :ios, '8.0'
inhibit_all_warnings!
use_frameworks!
target 'AmazonS3Upload' do
pod 'AWSS3'
end
Выполнить следующую команду из терминала:
pod install
Открыть созданное рабочее пространство. И после этого мы можем реализовать загрузку файлов с использованием фреймворков из Pods.
Нам нужно импортировать 2 модуля:
импорт AWSS3
импорт AWSCore
Настройте конфигурацию AWS, используя свои учетные данные. Например:
let accessKey = "..."
let secretKey = "..."
let credentialsProvider = AWSStaticCredentialsProvider (accessKey: accessKey, secretKey: secretKey)
let configuration = AWSServiceConfiguration (регион: AWSRegionType.usEast1, учетные данныеProvider: credentialsProvider)
AWSServiceManager.default (). DefaultServiceConfiguration = configuration
Создать запрос на загрузку:
let url = ... URL вашего файла ...
let remoteName = "Имя загруженного файла"
let S3BucketName = "Имя вашего сегмента на Amazon S3"
let uploadRequest = AWSS3TransferManagerUploadRequest ()!
uploadRequest.body = url
uploadRequest.key = remoteName
uploadRequest.bucket = S3BucketName
uploadRequest.contentType = "image / jpeg"
uploadRequest.acl = .publicRead
и загрузка с использованием AWSS3TransferManager.
let TransferManager = AWSS3TransferManager.default ()
TransferManager? .upload (uploadRequest) .continue ({(task: AWSTask) -> Any? in
if let error = task.error {
print («Загрузка не удалась с ошибкой: ((error.localizedDescription))»)
}
if let exception = task.exception {
print («Загрузка не удалась, исключение ((исключение))»)
}
if task.result! = Nil {
let url = AWSS3.default (). configuration.endpoint.url
let publicURL = url? .appendingPathComponent (uploadRequest.bucket!). appendingPathComponent (uploadRequest.key!)
print("Uploaded to:\(publicURL)")
}
вернуть ноль
})