MonoMac возвращает изменение значка приложения

Я конвертирую небольшое приложение С# из Windows в OSX, используя MonoDevelop и MonoMac. Я изменил значок приложения, используя Info.plist, расположенный внутри каталога содержимого приложения, добавив CFBundleIconFile и имя моего значка, находящегося в каталоге Resources. Пока все в порядке, Finder распознает значок, и он правильный на странице «Получить информацию». Однако, когда я запускаю приложение, правильный значок начинает подпрыгивать, но через секунду он меняется на значок обезьяны MonoMac (?). Есть ли способ сохранить мою иконку?


person Birken    schedule 23.02.2012    source источник


Ответы (1)


Если вы используете Windows Forms или GTK, это, скорее всего, потому, что у вас есть значок Win32, установленный в параметрах вашего проекта, который будет выбран и использован.

Либо так, либо вы устанавливаете MyForm.Icon на что-то явное в коде.

Если вы не используете Windows Forms или GTK, то мало что может вызвать это, поскольку я не верю, что для приложений MonoMac есть простой способ сделать это.

person Curtis    schedule 23.02.2012
comment
Я использую формы окна. Но удаление значка win32 (который я установил), очистка и пересборка приложения не решили проблему. Могу ли я заставить значок из кода? - person Birken; 24.02.2012
comment
Я считаю, что если вы сделаете, как я упоминал выше, например, MyForm.Icon = new Icon(MyIconFile.ico); (или лучше из потока ресурсов), то это должно сработать.. - person Curtis; 25.02.2012
comment
Я уже делаю это (поскольку именно так мы установили значок в окнах). Попытался удалить это, и это сделало моно обезьяну пиксельной. - person Birken; 27.02.2012
comment
@Birken: Хм, кажется, у меня это работает. Вот пример проекта, который устанавливает значок: db.tt/xIIG6NMj - person Curtis; 27.02.2012
comment
Спасибо, кажется, мне пришлось прочитать это из потока, чтобы заставить его работать. - person Birken; 01.03.2012