Недавно я обнаружил, что модель webkit не будет поддерживаться Apple в последнем выпуске Lion и Safari и что все переходят на проект Firebreath для использования NPAPI.
У меня есть базовое приложение Cocoa, которое связывается сследующие собственные фреймворки:
- CoreGraphics
- CoreData
- IOKit
- PFEventTaps (это трехсторонний фреймворк: Pfiddlesoft.com)
Я никогда не использовал подключаемые модули, так что это немного ново для меня, я начал с учебника по MAC, написанного Ричардом Бейтманом, и после следования рекомендациям я получил шаблон проекта Firebreath для своего личного проекта.Следующим шагом, который я сделал, было просто поместить все мои классы Objective-C в папку «Исходные файлы», добавив связь с четырьмя фреймворками, и, наконец, я добавил новые общедоступные методы, которые нужно выставить в плагине, в MyProjectPluinApi.h, напримерregisterMethod ("MyMethod", make_method (this & & WilmerPlugInAPI :: MyMethod));
Когда я строю проект firebreath, я получаю много ошибок компиляции, одна из которых очень повторяется: NSString was not declared in this scope.
Точки ошибкиto NSObjCRuntime.h
До сих пор я не могу получить эту сборку успешно с XCODE 3.2.6
что здесь не так? Мне нужно изменить весь мой код, чтобы реализовать стиль CPP в этомшаблонный проект? Или я могу каким-то образом связать свои фреймворки? Есть ли какой-нибудь образец, который я вижу?
БОЛЬШЕ ДЕТАЛЕЙ: 7 ноября 2011 г .: я пытался протестировать простой проект:
- Сначала я создаю проект testOfFB
- , он создается в / users / Me / Firebreath-dev / build / projects / testofFB
- , затем я изменяю классtestFBApi.cpp и переименуйте его в testFBApi.mm.
- Я написал класс Objective-c с именем testMath.m и переименовал его в testMath.mm
Я добавил метод Add withподпись:
-(long) Add:(long)a:(long)b:(long)c;
Наконец, я изменяю файл testFBApi.mm следующим образом:
registerMethod("add", make_method(this, &testFBAPI::add ));
В реализации метода addЯ создаю экземпляр метода класса target «c» «add» для проверки вызова моего методаjective-c.Я сделал включения и изменил файл /Mac/projectDef.cmake следующим образом:
target_link_libraries(${PROJECT_NAME}
${PLUGIN_INTERNAL_DEPS}
${Cocoa.framework} // added line
${Foundation.framework} //added line
)
Я запускаю сценарий prepmac.sh, а затем создаю решение xcode и те же ошибкипоявляются и некоторые другие, такие как testFBApi, не было объявлено.