Możesz użyć węgla, ale jest to przestarzałe.
Jak mówi Ole, Objective-C nie jest trudny do nauczenia się, jeśli posiadasz tło w C++ - i możesz mieszać języki, jeśli używasz Objective-C++ (co może być przydatne, ale zwykle najlepiej jest podzielić kod, który używa różne języki - więc użyj Objective-C/Cocoa dla warstwy GUI i C++ dla podstawowej logiki, robię to w ten sposób w mojej grze na iPhone'a, vConqr).
Jeśli wykonałeś GUI w C++, to docenisz, dlaczego Objective-C został wybrany na Cocoa. Jest bardzo przyjemny w przypadku projektów sterowanych zdarzeniami i ma wiele abstrakcji, które są naturalne. W miarę, jak wchodzisz w bardziej abstrakcyjne obszary, szczególnie jeśli używasz wielu kontenerów i algorytmów, prawdopodobnie zaczniesz uważać, że ograniczenia są trochę irytujące. Ale daj mu czas - istnieją inne użyteczne abstrakcje, które nie są od razu oczywiste (dynamiczne pisanie, kodowanie klucz/wartość i inne formy refleksji, kategorie ...).
Możesz również znaleźć przydatne this stackoverflow question.
Standardowym podejściem byłoby pisanie GUI z kakao i owijanie jądra C++. –