I am integrating payU money in my iOS app. Everything is working fine except one thing. Whenever I am returning from the payU money page all my values that are stored in UserDefaults are removed. I am using this code.
func startPaymentFlow() -> Void {
UserDefaults.standard.set( "test" , forKey: "test")
Toast(text:"Please wait.... Generating hash from server").show()
let paymentVC : PUMMainVController = PUMMainVController()
var paymentNavController : UINavigationController;
paymentNavController = UINavigationController(rootViewController: paymentVC)
self.present(paymentNavController, animated: true, completion: nil)
}
func transactionCompleted(withResponse response : NSDictionary,errorDescription error:NSError) -> Void {
self.dismiss(animated: true){
self.showAlertViewWithTitle(title: "Message", message: "congrats! Payment is Successful")
self.Status = "1"
self.MobilePaymentUpdateApi()
}
}
func transactinFailed(withResponse response : NSDictionary,errorDescription error:NSError) -> Void {
self.dismiss(animated: true){
self.showAlertViewWithTitle(title: "Message", message: "Oops!!! Payment Failed")
self.Status = "-1"
self.MobilePaymentUpdateApi()
}
}
func transactinCanceledByUser() -> Void {
print(UserDefaults.standard.value(forKey: "test") as! String)
self.dismiss(animated: true){
self.showAlertViewWithTitle(title: "Message", message: "Payment Cancelled ")
self.Status = "-1"
print(self.Status)
self.MobilePaymentUpdateApi()
}
}
getting this just after execution of
self.present(paymentNavController, animated: true, completion: nil)
*** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL