I need to cleanup some properties stored in NSUserDefaults for iOS app when it is updated to new version.
Is there a way to be notified when such an app update is going to happen or has happened?
Also is my assumption correct that when application is updated, NSUserDefaults are not automatically cleaned?
The UserDefaults are not modified on an app-update. What you are essentially asking is how to implement versioning for your data. The most basic way to do this is by using a version value in your app and add it to your UserDefaults.
Sample flow on app start: