У меня есть сомнения по поводу кокотрона.
На веб-сайте cocotron не ясно, что cocotron на самом деле готов к производству. Я подозреваю, что можно было бы начать разработку новых приложений и постоянно использовать cocotron для поддержки и тестирования сборок Windows на ходу.
Но преобразовать его в существующий проект может оказаться гораздо более сложной задачей. Также нет альтернативы кокотрону - кроме, возможно, gnustep.
Практический подход к кроссплатформенной разработке включает разработку не-графических компонентов вашего приложения, один раз, на C или C ++. А затем использовать кроссплатформенную библиотеку графического интерфейса, такую как QT, которая ОЧЕНЬ хороша для генерации и использования собственного пользовательского интерфейса, где это возможно, или фальсификации его, где нет. Пожалуйста, зайдите на qt.nokia.com и загрузите последнюю сборку QTCreator для Windows и Mac - посмотрите, как одно и то же приложение QT выглядит и выглядит очень убедительно на обеих платформах.
Если QT не предоставляет достаточно нативного решения, вам необходимо разработать графический интерфейс дважды: один раз в Какао и один раз в Win32. Конечно, графический интерфейс какао должен быть в целевой C, графический интерфейс Win32 в C / C ++.
Ваш код приложения без графического интерфейса - написанный на c ++ - не сможет напрямую вызывать Objective-C, но его нетрудно написать классы shim, реализованные в файлах .mm - предоставить интерфейс c ++ и обернуть доступ цель c объектом или классом.
Вам также придется придумать альтернативу CoreData для Windows - возможно, sqlite? Принимая во внимание, что XCode имеет интегрированную поддержку инфраструктуры sqlite, и тестирование нескольких путей кода - это, конечно, больше работы - может быть, лучше отказаться от CoreData в пользу общего уровня?