Приложение iOS позволяет пользователю подавать жалобу в онлайн-REST API со следующими параметрами:
Поля данных: имя, номер телефона,...
Голос: записан с микрофона
Изображение/видео: выбрано из фотогалереи
1- как я могу сделать это с быстрым?
2- как вернуть поле идентификатора с сервера после отправки?
3- как управлять уровнем загрузки для голосовых и мультимедийных файлов?
С уважением
После нескольких недель работы на нем почти нет, вот мой опыт использования Swift 3.1, который работает гладко:
//use POSTMAN plugin in Chrome browser to get the read header for your API (optional):
let headers = [
"cache-control": "no-cache",
"postman-token": "00000000-1111-2222-3333-444444444"]
//this is the important part:
let strQuery: String = "mobileNo=" + txtMobileNB.text! + "&fullname=" + txtName.text!
let request = try? NSMutableURLRequest(url: NSURL(string: "http://service.website.com/apiname/?" + strQuery)! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request?.httpMethod = "POST"
request?.allHTTPHeaderFields = headers
if request != nil {
let session = URLSession.shared
let dataTask = session.dataTask(with: request! as URLRequest) {data,response,error in
if let content = data
{
let responseData = String(data: content, encoding: String.Encoding.utf8)
//feedback from server:
print(responseData)
//call success function:
self.showDone()
} else {
//call error function:
self.showWrong()
}
}
dataTask.resume()
} else {
//call error function:
self.showWrong()
}
Что касается другой части "как загрузить", я нашел эту фреймворк хорошей (называемой ребеккой), чтобы начать проект загрузки через приложения iOS.
надеюсь, это кому-то поможет :)
NSURLSession
. Один из многих учебников можно найти здесь .