Подтвердить что ты не робот

Использование С++ в приложениях iOS и Mac OS X

Я немного умерен в своих знаниях на С++, но ничего не знаю о Objective-C. Я планирую (и даже начинаю) изучать Objective-C, поэтому я могу попытаться написать несколько приложений для iOS и Mac OS X, но мне очень интересно, что я еще не смог найти.

Можно ли полностью написать приложение iOS и/или Mac OS X с С++, включая компоненты пользовательского интерфейса? Если это невозможно сделать полностью на С++, то в какой степени можно использовать в основном С++?

Я не видел примеров, демонстрирующих один из этих элементов. Я планирую написать несколько мобильных приложений для iOS и Android, и, по возможности, я хотел бы содержать большую часть своей логики внутри кода на С++ для максимальной переносимости. Я уже знаю, что могу это сделать, но я не уверен в степени.

4b9b3361

Ответ 1

Короткий ответ, да.

Для чистого С++ вы должны взглянуть на QT framework.
В противном случае вам будет трудно найти часть пользовательского интерфейса.

Но также помните, что Objective-C можно смешать с С++.
Это называется Objective-C ++ (.mm файлы).

Затем вы можете написать код, сочетающий код С++ и Objective-C. При этом вы можете иметь части пользовательского интерфейса в Objective-C (может быть лучше, так как он будет использовать собственные фреймворки для компонентов пользовательского интерфейса), а также другие вещи на С++.

Если вы решили изучить Objective-C, но все же хотите, чтобы код на С++ для некоторых частей, я бы рекомендовал этот подход вместо чистого С++.

В iOS это также единственный способ. Хотя вы можете писать код на С++, вы должны использовать Objective-C для части пользовательского интерфейса.

ИЗМЕНИТЬ

Вот несколько ссылок для начала работы с Objective-C ++:

Ответ 2

Посмотрите этот вопрос

Я не знаю о Mac OS, но в приложениях IOS вы можете использовать С++ в логике, но вы должны писать пользовательский интерфейс на Objective-C.

Ответ 3

Можно ли написать приложение iOS и/или Mac OS X полностью с С++, включая компоненты пользовательского интерфейса? Если невозможно сделайте это целиком на С++, а затем в какой степени можно использовать в основном С++?

Я думаю, что можно использовать чистый С++, если вы хотите зависеть от какой-то третьей части lib, тогда да.

Без этой 3-й части lib вам нужно написать весь пользовательский интерфейс с помощью objective-c, остальное вы можете использовать С++ столько, сколько захотите.

Ответ 4

Необходимые изменения в настройках сборки для использования файлов С++ в проекте iOS в разделе "Компилятор Apple LLVM 4.2 - Язык" Option

Диалоговый язык С++: компилятор по умолчанию Стандартная библиотека С++: компилятор по умолчанию

Ответ 5

Вы можете использовать движок Cocos2d-x и написать чистый С++ для вашего приложения iOS, включая UI (у кокосов есть основные классы ui, такие как кнопки, прокрутки, таблицы и т.д.), но вам нужно разработать свои собственные контроллеры и модели, используя различные библиотеки С++, такие как Hiberlite, или необработанный SQLite и т.д.)

Cocos имеет свой собственный интерфейс с iOS/MacOS (несколько базовых классов .mm objective-c для настройки цикла выполнения приложения - например, делегата приложения или цикла runloop и рисования)

Итак, вы просто пишете свой код пользователя с помощью С++