I have a desktop MacOS app written in Objective-C. I want to add this functionality:
I assume that somewhere on a server sits new app version xx.1.1.dmg
- app shows that an update is available
- user agrees to update
- app downloads the update
- app prompts user to agree to install & restart the app
- magic happens
QUESTIONs:
A. Is there a framework to start the download, display the progress and then update the running application or do I have to implement all this? The update process of many applications look like very similar so it seams like some shared functionality is used.
B. Once you have the update archive on local drive. How to you "replace" the old app with the new one. Do you "just" unpack the archive over the existing app folder? This could be problematic because of open files.
C. How do you force app restart?
D. Is there a way to schedule "after-app-quit" actions which would solve the issues described in B? Could these actions also include the new app start?