I am designing an AUv3 plugin for Logic / Garageband. I heavily relied upon the AUv3Filter demo supplied by Apple due to lack of documentation on building AUv3 plugins. However, I noticed a problem both in my plugin and Apple's AUv3Filter demo plugin.
When I add a deinit function to Apple's AUv3FilterDemo.swift class, it never gets called. Not when the plugin is removed from a Logic project, not when Logic exits, never.
My plugin, unsurprisingly, has the same problem (dealloc / Objective-C). It's pretty serious however, because my plugin is a wrapper for a C++ class that has a lot of stuff going on and needs to be deconstructed when it finishes running.
I spent a few hours with Apple's demo trying to track down any strong references that might persist after the plugin exits, but nothing I did seemed to make any difference.
Anybody else have this issue?