Практически во всех случаях верно, что перенесенное приложение всегда будет выглядеть как перенесенное приложение. Даже крупные компании с огромными бюджетами не могут ничего лучше (я цитирую Adobe - что за беспорядок).
При наложении лица Mac на порт приложения Windows отобразятся его швы. Если вы хотите, чтобы приложение работало как собственное приложение (и используете преимущества, связанные с производительностью, которые предлагает платформа), то лучшим подходом будет использование архитектурной документации, спецификаций и требований, которые, я знаю, у вас есть - добросовестный разработчик, которого вы Есть - адаптировать дизайн к родной платформе. Это Какао Frameworks (API), которые написаны на Objective-C (язык).
Просто нет другого пути, который бы не заканчивался дерьмово выглядящим портом, изобилующим ошибками и поведенческими проблемами, вызванными недостаточным знакомством портера с целевой платформой. Это не только ограничено Mono / C # -to-Cocoa / Obj-C. Противоположность так же верна. Даже порты Java-for-PlatformA-Java-for-PlatformB настольных приложений страдают от этих проблем. Начните с надежной архитектуры и постройте платформу, если вы хотите получить лучший пользовательский опыт.
Тем не менее, вы уже на шаг впереди, осознавая это и желая добиться большего. Браво! :-) Хотя я не знаю ни одного учебного пособия для этого пути, я бы посоветовал даже это не правильный подход, так как вы указали, что ищете качество. Воспользуйтесь многими книгами по какао и многими другими онлайн-сообществами (например, этим) и изучите платформу, прежде чем переходить на архитектуру и кодовую базу, адаптированную к какао.
Обновление на основе обсуждения комментариев
Чтобы было ясно: я не говорю, что нет никакого пути или что нет никакого инструмента, который сделал бы это возможным. Я действительно много чего видел, но не помню и не буду гуглить. Моя точка зрения остается неизменной: OP касается качества нативного внешнего вида (и я предполагаю поведение и, возможно, производительность), а инструменты переноса / уровни перевода не достигают этого из-за врожденных различий в архитектуре платформы и идиомах пользовательского опыта. ОП подозревает, что лучше всего изучить платформу и создать ее специально для нее, и я согласен. Ваше мнение может отличаться. Имейте это.