Are you certain that [pool drain]
is actually getting called either? [application run]
won't return unless [NSApp stop]
is called (which is rare). If the more common [NSApp terminate]
is called, as the docs say:
Do not bother to put final cleanup code in your application’s main() function—it will never be executed. If cleanup is necessary, perform that cleanup in the delegate’s applicationWillTerminate: method.
Once you hand the application over to run
, you generally aren't going to get it back.