Я неожиданно начал получать сообщения об ошибках в вызовах API Working REST, в которых до сих пор все еще работало нормально.
Самое главное, что это была проблема не приложения, а всех приложений, которые были обработаны из спецификации One, указанной c сервер перестал работать.
Важное замечание:
- Те же вызовы API по-прежнему отлично работают на Android приложениях, даже после тестирования на POSTMAN они по-прежнему работают нормально, но не на iOS только часть
- В iOS Также проблема касается только вызовов API POST, вызовы GET API по-прежнему работают нормально
Сообщение об ошибке:
Печать описания ошибки: Ошибка домена = NSCocoaErrorDomain Code = 3840 «Недопустимое значение вокруг символа 0.» UserInfo = {NSDebugDescription = Недопустимое значение для символа 0.}
Вот что я пробовал до сих пор:
func doSignInAPICall(mEmailMobile: String, mPassword: String, completionhandler: @escaping CompletionHandler) {
let request = NSMutableURLRequest(url: NSURL(string: mainAPIURL+LoginAPI)! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: timeoutTime)
request.httpMethod = "POST"
let boundary = NSString(format: "---------------------------14737809831466499882746641449")
let contentType = NSString(format: "multipart/form-data; boundary=%@", boundary)
request.addValue(contentType as String, forHTTPHeaderField: "Content-Type")
let body = NSMutableData()
// email_mobile
body.append(NSString(format: "\r\n--\(boundary)\r\n" as NSString).data(using: String.Encoding.utf8.rawValue)!)
body.append(NSString(format: "Content-Disposition: form-data; name=\"email_mobile\"\r\n\r\n" as NSString).data(using: String.Encoding.utf8.rawValue)!)
body.append(NSString(format: mEmailMobile as NSString).data(using: String.Encoding.utf8.rawValue)!)
// password
body.append(NSString(format: "\r\n--\(boundary)\r\n" as NSString).data(using: String.Encoding.utf8.rawValue)!)
body.append(NSString(format: "Content-Disposition: form-data; name=\"password\"\r\n\r\n" as NSString).data(using: String.Encoding.utf8.rawValue)!)
body.append(NSString(format: mPassword as NSString).data(using: String.Encoding.utf8.rawValue)!)
request.httpBody = body as Data
constants().APPDEL.doStartSpinner()
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
print(response?.debugDescription)
if (error != nil) {
constants().APPDEL.doStopSpinner()
completionhandler(false)
} else {
do {
if let json = try JSONSerialization.jsonObject(with: data!, options: [.mutableContainers, .fragmentsAllowed]) as? [String: Any] {
constants().APPDEL.doStopSpinner()
let mDict = (json["response"] as! NSArray).object(at: 0) as! NSDictionary
if (mDict.value(forKey: "status") as! String) == "true" {
completionhandler(true)
} else {
completionhandler(false)
}
}
} catch let error as NSError {
print("Failed to load: \(error.localizedDescription)")
constants().APPDEL.doStopSpinner()
}
}
})
dataTask.resume()
}
Важные замечания :
- Те же API-интерфейсы Проект перенесен на другой сервер, и в этом случае приведенный выше код работает правильно
- Я подтвердил с командой поддержки сервера и подтвердил, что он имеет нет проблем с SSL или уровнем безопасности, а также с HTTP-сервером безопасности
- Даже мои живые проекты, которые запускались с теми же сообщениями об ошибках, которые уже есть в App Store
- В iOS Также выдают входит только в вызовы POST API, вызовы GET API по-прежнему работают нормально
РЕДАКТИРОВАТЬ - БОЛЬШЕ ДЕТАЛЕЙ:
Необязательно ("\ n \ n403 Запрещено \ n \ n
Запрещено
\ n
У вас нет прав доступа к этому ресурсу.
\ n
Кроме того, при попытке использовать ErrorDocument для обработки запроса.
\ n \ n ")
Просьба SE предложить мне какое-то решение для этого.
Любые предложения или советы будут высоко оценены.