Чи є спосіб сказати OS X Lion відключити автоматичне припинення для даної програми, що ви не хочете автоматично припиняти роботу?
FYI Lion - це запит, якщо ви ще не знали, що робити, якщо ви не хочете, щоб це було для певного Applicaiton.
Lion закриє ваші запущені програми за спиною, якщо вирішить, що йому потрібні ресурси, і якщо ви, здається, не використовуєте їх. Евристика для визначення того, чи використовується програма, є дуже консервативною: вона не повинна бути активною програмою, вона не повинна мати видимих, не мінімізованих вікон - і, звичайно, вона повинна явно підтримувати автоматичне припинення.
Наприклад, скажіть, що я не хочу, щоб TextEdit автоматично закривався, коли у мене немає відкритих вікон TextEdit та перехід на іншу програму.
Переглянувши розділ Посібника з програмування Mac для автоматичного припинення, я зрозумів, що спробую додати ключ NSSupportsAutomaticTermina зі значенням «Ні» до файлу Info.plist для TextEdit. (Не вдалося: TextEdit виходить з ладу при відкритті.)
Зауважимо, що файл не містив ключ NSSupportsAutomaticTermina (це означає, що Apple використовувала NSProcessInfo для ввімкнення автоматичного завершення), тому додавання ключа, ймовірно, не матиме жодного ефекту, оскільки NSProcessInfo переосмислює те, що є у файлі plist. (Перевірено, що це не працює, самостійно підписуючи TextEdit з модифікованим Info.plist, включаючи ключ NSSupportsAutomaticTermina і значення Ні).
Одним із побічних ефектів, який зазначається, є те, що зміна будь-чого у файлі Info.plist призводить до аварії TextEdit при відкритті. Причина відзначається з журналу збоїв як "невірна підпис коду", що означає, що додаток TextEdit та весь його вміст підписані кодом. Вирішення проблеми полягає в тому, щоб самостійно підписати додаток за допомогою codesign
команди та власного підписаного кореневого сертифіката, як зазначено у завданні підпису коду .
Після того, що я намагався до цього часу, TextEdit все ще підкоряється автоматичному припиненню.