2009-02-07 3 views
2

Примечание: Это противоположное направление для большинства подобных вопросов!Переход с iPhone на Mac?

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

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

ответ

5

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

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

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

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

4

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

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

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

2

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

Смежные вопросы