Поэтому мне нужно зарегистрировать функцию на OSX (используя Xcode/Object C), которая будет регистрировать определенную функцию, которая будет вызываться всякий раз, когда программа завершается.Зарегистрируйте функцию, которая будет вызываться непосредственно перед запуском программы
Я столкнулся с this, но я думаю, что это для iOS, а не для OSX.
Я заменил UI на NS и сделал снимок, но это не сработало.
NSApplication *app = [NSApplication sharedApplication];
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(applicationWillTerminate:)
name:BeCalledOnExit object:app];
но это не скомпилирование. он говорит что-то по имени: будучи необъявленным идентификатором, когда он явно находится на файле .h & .m перед функцией.
я столкнулся с другим парнем, который используется так:
-(BOOL) applicationShouldTerminateAfterLastWindowClosed:(NSApplication *) sender{
return TRUE
}
, но он не работает для меня, как мое приложение является полным строке состояния приложения.
В основном я создаю временные файлы во время своего приложения и перед выходом из системы, я хочу убедиться, что мое приложение очищает эти файлы. Я помещаю его в/tmp /. Woudn't не хочет слишком много места для взятия.
я действительно хотел бы иметь решение, как в GCC/питона,
atexit(functionName);
Так почему бы не просто использовать atexit? Это простая функция C. – cody
Использование NSApplicationWillTerminateNotification в имени –
попытался atexit(), он жалуется во время выполнения об идентификаторе. –