Có cách nào để yêu cầu OS X Lion tắt tự động chấm dứt đối với một ứng dụng nhất định mà bạn không muốn tự động chấm dứt không?
FYI Lion là một kẻ bỏ cuộc nếu bạn chưa biết, nếu bạn không muốn nó là một Applicaiton nào đó.
Lion sẽ bỏ các ứng dụng đang chạy của bạn sau lưng nếu nó quyết định nó cần tài nguyên và nếu bạn dường như không sử dụng chúng. Các heuristic để xác định xem một ứng dụng có phải là sử dụng hay không, rất thận trọng: đó không phải là ứng dụng đang hoạt động, nó phải không có cửa sổ hiển thị, không thu nhỏ - và tất nhiên, nó phải hỗ trợ Tự động Chấm dứt.
Ví dụ: giả sử tôi không muốn TextEdit tự động thoát khi tôi không mở cửa sổ TextEdit và chuyển sang Ứng dụng khác.
Sau khi xem phần Hướng dẫn lập trình ứng dụng Mac cho Tự động chấm dứt, tôi hình dung mình sẽ thử thêm khóa NSSupportsAutomaticTermination với giá trị Không vào tệp Info.plist cho TextEdit. (Không hoạt động: TextEdit gặp sự cố khi mở.)
Cần lưu ý, tệp không bao gồm khóa NSSupportsAutomaticTermination (có nghĩa là Apple đang sử dụng NSProcessInfo để kích hoạt tự động chấm dứt), do đó, việc thêm khóa có thể sẽ không có tác dụng gì vì NSProcessInfo sẽ ghi đè lên tệp plist. (Đã xác minh điều này không hoạt động, bằng cách tự ký TextEdit với Info.plist đã sửa đổi bao gồm khóa NSSupportsAutomaticTermination và giá trị của Không).
Một tác dụng phụ được lưu ý là việc thay đổi bất cứ điều gì trong tệp Info.plist khiến TextEdit bị sập khi mở. Nguyên nhân được ghi nhận từ nhật ký sự cố là "chữ ký mã không hợp lệ", có nghĩa là ứng dụng TextEdit và tất cả nội dung của nó là mã được ký. Cách giải quyết là tự ký tên ứng dụng bằng codesign
lệnh và chứng chỉ gốc tự ký như đã lưu ý trong tác vụ Ký mã .
Sau những gì tôi đã cố gắng cho đến nay, TextEdit vẫn tuân theo Tự động chấm dứt.