Я в процессе переноса приложения для Android, интенсивно использующего вычислительные ресурсы, написанного на Java, на iOS6. Я делаю это, портируя части не-пользовательского интерфейса с Java на C ++, записывая (минимальные) части пользовательского интерфейса в Obj-C, и оборачивая первые в (маленький) интерфейс C, используя стандартную технику C / C ++, так, чтобы к нему можно получить доступ из Obj-C, который в конце концов является надмножеством C.
До сих пор это было эффективно, и я не сталкивался ни с какими хитами. Кажется, это законный подход, так как Xcode позволяет создавать классы C ++, а также классы Obj-C, а некоторые из официального примера кода делают это таким образом. Мне не нужно было выходить за пределы официально поддерживаемых интерфейсов, чтобы сделать это.
Похоже, что написать оставшийся код пользовательского интерфейса на C ++ было бы не очень выгодно, даже если бы это было возможно, учитывая помощь, оказанную вам конструктором интерфейса в XCode, поэтому я могу ответить, что вы можете используйте C ++ практически для всех ваших приложений или для большинства из них, которые вы считаете подходящими / удобными.