Плагин Dock Tile не работает

Я пытаюсь создать плагин Dock Tile.

  • Я добавил новую цель в свой проект с расширением Wrapper как docktileplugin
  • Я добавил класс, который реализует NSDockTilePlugIn с методом:

    -(void)setDockTile:(NSDockTile *)dockTile
    {
        NSLog(@"DOCK TILE PLUG-IN LOADED!");
    }
    
  • Я установил этот класс в качестве основного класса в его info.plist

  • Я установил эту новую цель DockTile в качестве целевой зависимости для своего основного приложения и добавил ее в фазу сборки "Копирование файлов / назначение: плагины"
  • Я установил ключевое слово NSDockTilePlugin в Info.plist моего основного приложения в качестве имени цели Dock Tile без расширения.

Я следовал за документацией и даже скачал пример программы, предоставляемой Apple, по адресу: http://developer.apple.com/library/mac/#samplecode/DockTile/Listings/DockTilePlugIn_DockTilePlugIn_m.html

Программа примера не работает, но я по крайней мере получаю ошибку консоли:

    12/20/12 8:29:49.217 PM com.apple.dock.extra: Could not load Dock Extra class from the bundle /Users/[MYNAME]/Downloads/DockTile/build/Release/DockTileApp.app//Contents/PlugIns/DockTile.docktileplugin

Пожалуйста помоги.

1 ответ

Решение

После долгих проб и ошибок я обнаружил, что у вас должны быть следующие конфигурации сборки для правильной работы плагина док-панели.

Другие флаги линкера: -ObjC
Цель развертывания OS X: 10.6 или выше, в зависимости от текущей версии OSX
Архитектура: Стандартная (32/64-битная Intel)

@gravityab После долгих поисков я нашел неподдерживаемую версию и теперь обновил ее, добавил еще одну функцию в образец и разместил ее здесь на github - https://github.com/CartBlanche/MacDockTileSample. Не стесняйтесь форкнуть или отправить PR, если кто-то заметит, что я сделал что-то не так.

Другие вопросы по тегам