Данные UserDefaults.standard удалены (payU деньги)

Я интегрирую деньги payU в свое приложение для iOS. Все работает нормально, кроме одного. Всякий раз, когда я возвращаюсь со страницы денег payU, все мои значения, которые хранятся в UserDefaults, удаляются. Я использую этот код.

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()
    }
}

Это журнал ошибок и код

получить это сразу после выполнения

  self.present(paymentNavController, animated: true, completion: nil)  

*** -[NSKeyedUnarchiver initForReadingWithData:]: данные равны NULL


person Anurag Mishra    schedule 27.07.2017    source источник
comment
возможно ли, что transactinCanceledByUser вызывается перед startPaymentFlow?   -  person mag_zbc    schedule 27.07.2017
comment
нет, он вызывается после startPaymentFlow   -  person Anurag Mishra    schedule 27.07.2017
comment
Сохраняете ли вы значение в этом пользовательском ключе по умолчанию где-либо еще? Вы установили точку останова, чтобы подтвердить, что startPaymentFlow вызывается?   -  person Paulw11    schedule 27.07.2017
comment
да звонят. а пользовательские значения по умолчанию, отображаемые в коде, предназначены только для демонстрации. Настоящая проблема заключается в том, что все идентификаторы токенов моего устройства и другая информация, хранящаяся в userDefaults, очищаются.   -  person Anurag Mishra    schedule 27.07.2017
comment
[NSKeyedUnarchiver initForReadingWithData:]: данные имеют значение NULL, получая это после текущего оператора   -  person Anurag Mishra    schedule 28.07.2017