Как включить «использовать низкое разрешение» на дисплее Retina для Приложения при его доставке?
У меня есть приложение, которое не работает в режиме HiDPI, если я не выбрал «получить информацию» в Finder и не поставил флажок «открыть в низком разрешении». Исправление приложения не является вариантом, поскольку оно было сделано с использованием программного обеспечения для разработки, которое больше не поддерживается активным поставщиком.
Теперь вот что: когда я возьму приложение, поставлю его на рабочий стол, заархивирую его, а затем установите флажок «открыть в низком разрешении» на true, удалите приложение и разархивируйте исходное, флажок остается установленным. Поэтому везде, где OS X хранит свойство «открыть в низком разрешении», оно не совпадает с файлом. Это означает, что при распространении приложения на другие системы Retina Mac оно будет разорвано до тех пор, пока не будет установлен флажок вручную в каждой системе.
Я обнаружил, чтоInfo.plist
ПолучилNSHighResolutionCapable
свойство и я добавил, чтоBoolean
к моему приложениюInfo.plist
и установите егоfalse
но безрезультатно. Это, кажется, не эквивалентно опции «открыть в низком разрешении».
Связанный документ гласит, что:Если флажок «Открыть в низком разрешении» установлен по умолчанию, вы можете изменить значение по умолчанию, установив для атрибута NSHighResolutionCapable значение YES в Info.plist Ну, обратное не работает ... То, что я хотел бы, это готовое решение. Я хотел бы избежать того, что клиенты должны настроить это самостоятельно. Его нужно просто установить при разархивировании приложения.
Итак, два вопроса:
а) Можно ли настроить то, что равно флажку «открывать в низком разрешении» вместе с файлом - например, вInfo.plist
?
б) Где в OS X хранятся варианты, выбранные мною для флажков «Открыть в низком разрешении», которые я получаю через информационный экран Finder?
РЕДАКТИРОВАТЬ 7 декабря:
Как видно из редактора plist:
Как видно из современного Xcode на Mavericks:
Единственная разница - это имя, которое отображается. Xcode называет его «High Resolution Capable», в то время как в файле он все еще действительно «NSHighResolutionCapable»
Вот часть диалогового окна информации о файле, о которой мы заботимся: