Переход с iPhone на Mac? - PullRequest
       22

Переход с iPhone на Mac?

2 голосов
/ 07 февраля 2009

Примечание: это направление, противоположное большинству похожих вопросов!

У меня есть приложение для iPhone, которое я хотел бы представить на Mac. Насколько сложно перекомпилировать (или переписать) приложения iPhone в приложения Mac, если предположить, что я намерен сохранить тот же размер экрана и не беспокоиться о том, чтобы сделать мое приложение похожим на mac?

Можно ли распространять симулятор iPhone, который Apple предоставляет в iPhone SDK, с копией моего приложения? Требование, чтобы люди пошли и установили это самостоятельно, кажется основным требованием.

Ответы [ 3 ]

5 голосов
/ 09 февраля 2009

В целом большинство «базовых» фреймворков присутствует и на Mac. Как правило, на рабочем столе будет присутствовать любой класс, запускающий NS - NSString, NSArray, NSObject и т. Д. Это, надеюсь, означает, что весь код вашего движка просто перекомпилируется и запускается.

То же самое относится и к некоторому промежуточному программному обеспечению - будет представлен весь iPhone Quartz - классы и типы, начинающие CG ... Если вы используете 3D, на рабочем столе есть OpenGL, но он полностью OpenGL, а не iPhone OpenGL ES. Есть некоторые различия, но ваш код будет довольно легко портировать.

Там, где вам определенно нужно будет перекодировать, это пользовательский интерфейс. Не только потому, что AppKit отсутствует, но и потому, что дизайн пользовательского интерфейса, который вам нужен для iPhone, обычно не будет работать на рабочем столе. IPhone поддерживает мультитач и не имеет (значимых) перекрывающихся окон. Точно так же, если вы используете какое-либо аппаратное обеспечение iPhone, вам придется переопределить его - акселерометр и GPS, очевидно, недоступны на рабочем столе. В обоих случаях эмпирическое правило заключается в том, что классы, начинающие пользовательский интерфейс ... являются специфическими для iPhone.

Если вы будете следовать рекомендациям Apple по разработке MVC при написании приложения, if будет сохранять код, связанный с пользовательским интерфейсом, хорошо отделенным от кода движка, и перенос будет проще.

4 голосов
/ 07 февраля 2009

Во-первых, вы не можете распространять симулятор iPhone. Это не может быть и речи. Соглашение iPhone SDK гласит:

Вы соглашаетесь не брать напрокат, не сдавать в аренду, не сдавать в аренду, не загружать и не размещать на каком-либо веб-сайте или сервере, не продавать, не распространять и не сублицензировать SDK полностью или частично, а также разрешать другим делать это.

Возможно, вы сможете использовать части вашей программы в версии для Mac, но вам, вероятно, придется переписать код, связанный с пользовательским интерфейсом.

2 голосов
/ 07 февраля 2009

Если ваше приложение в основном OpenGL или пользовательские представления, вероятно, не так уж сложно. Если ваше приложение использует множество представлений UIKit, вам нужно будет немного переписать, чтобы вместо этого использовать стандартные представления Какао Mac. Они совершенно разные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...