Compared to other apps - like for instance Xojo - my app has a super very long verification when starting the app the first time.
I did some experimentation and removed the uninstaller app that is also in the dmg. The app started much faster. But I want to keep the uninstaller in case the user - well - wants to uninstall the app.
Is there anything I can do to improve verification? Is this something that Apple needs to address?
My experience is that the problem is not starting your app the first time but opening the dmg in order to install your app.
The verification takes forever.
In my case I have a self-written installer which is typically opened directly from the dmg. Starting the installer from the dmg takes forever. Opening the dmg isnât the problem.
The problem already shows up for Intel build only.
I think the problem may be the app complexity because the installer contains the app and the uninstaller. Iâll try to remove the uninstaller from the installer app first.
The self-written installer is there for historical purposes in the times before AppWrapper.
I see. For a period of time I used an Apple Script application as an installer, it would simply tell Finder to copy the application from the DMG to the Applications folder.
I used to have a technology I called âInstall Easyâ. When the application was first launched and detected it wasnât in the applications folder, it would ask the user if theyâd like it to be moved/copied there automagically.
Repeated breakages due to OS updates and I gave up with both of these. Pretty sums up how a lot of macOS developers feel at the moment, the more Apple breaks their apps the more theyâre inclined to just give up.
Apple could really do with someone at the helm who gives a damn about the products and not just their personal multi-million dollar bonuses.
An app that is not in the Applications folder will be translocated.
(A mini-sandboxed environment)
And verrrryyyy slow.
Dont run an installer or an app from inside a DMG.
Copy it to Applications first.
My app Mail Archiver has a feature called schedule. Emails can be archived automatically once a day, week and so on. There is a helper app which is basically a timer. The helper app has a launch agent which makes sure that the app is started after a restart. But the helper app also needs to be started after a new version has been installed.
I canât do that with only a dmg where the app is âinstalledâ by drag-and-drop.
Thsi sounds more like the kind of thing you need for that.
I personally dont know how to set up a launch daemon, but it may be possible with a small app.
A launcd daemon using launchd can run automatically after a restart, run all the time (launchd watches for it), or even launch at regular intervals for you.
As I wrote in the post above I already have a launch agent. But the launch agent needs to be reloaded after a new version. Which can only be done by an installer.
As a user, I would fairly understand that this helper ceases to run automatically after installing a new version of the app.
But yes, I understand. Youâre in the rare edge cases where an installer makes sense (I guess).
Now, perhaps all installers are just slow to open because thereâs a lot from Apple to check and you canât do anything against that?
Choose your âbest problemâ