Hai Я пытаюсь отправить данные квитанции на наш собственный сервер с помощью Alamofire. Но при отправке я получаю TI C Ошибка доверия SSL. Это говорит о том, что You might be connecting to the server that can put your confidential information in risk
. Как это преодолеть? Я искал некоторые сайты. Они сказали добавить код
defaultManager = {
let serverTrustPolicies: [String: ServerTrustPolicy] = [
opcodeIpPort : .disableEvaluation
]
let configure = URLSessionConfiguration.background(withIdentifier: Bundle.main.bundleIdentifier!)
// session1=URLSession(configuration: .default, delegate: applicationDelegate.application, delegateQueue: OperationQueue.main)
session1=URLSession.shared
configure.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
return Alamofire.SessionManager(
configuration: configure,
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
}()
Так что я использовал тогда defaultManager.reuqest
Когда я использую этот код, я получаю любые исключения, но была другая проблема, которую я не смог отправить любые другие запросы. Код, который я использую для отправки данных квитанции:
{
applicationDelegate.application=self
let defaults = UserDefaults.standard
var requestData:NSData!
let receiptPath = Bundle.main.appStoreReceiptURL?.path
if FileManager.default.fileExists(atPath: receiptPath!){
var receiptData:NSData!
do{
receiptData = try NSData(contentsOf: Bundle.main.appStoreReceiptURL!, options: NSData.ReadingOptions.alwaysMapped)
}
catch{
print("ERROR: " + error.localizedDescription)
}
let base64encodedReceipt = receiptData!.base64EncodedString(options: NSData.Base64EncodingOptions.endLineWithCarriageReturn) as! String
var postString = [ "receiptData": base64encodedReceipt,
"subscriberId": defaults.array(forKey: "userDetails")?.first as! String,
"password": defaults.array(forKey: "userDetails")?.last as! String,
"productId":productId,
"code":opcodeDetails["opCode"]!,
"deviceType":"IOS"
] as [String : Any] as [String : Any]
let URLForApplication:String = String(format:"%@/api/validate-receipt-data",opcodeDetails["apiProxyBaseUrl"]!)
Alamofire.request(URLForApplication, method: .post, parameters: postString, encoding: URLEncoding.default).responseJSON
{ response in
let data=response.data!
do
{
let redableJson=try JSONSerialization.jsonObject(with: data, options: .allowFragments) as! [String:Any]
let responses=redableJson["response"] as! Dictionary<String,Any>
print(responses)
}
catch{
}
}
}
}
Я добавил Arbitaryloads в файл Info.plist. Пожалуйста, кто-нибудь, помогите мне исправить это. Спасибо заранее.