Лучший способ поделиться кодом iphone и mac между проектами - PullRequest
3 голосов
/ 23 октября 2008

Я понимаю, что представление / контроллер будет отличаться между приложениями Mac и IPhone, но код модели может быть схожим / одинаковым. Так каков наилучший способ организовать проект (ы), чтобы код модели можно было / можно было использовать совместно?

  1. Копирование / вставка - просто продублируйте и сохраните синхронизацию вручную
  2. Имейте 2 проекта xcode, указывающих на одну рабочую область - один для Mac и один для IPhone и делитесь кодом.
  3. Общая библиотека - предположительно, вы не можете этого сделать (или можете)

Спасибо за любые советы.

Ответы [ 3 ]

6 голосов
/ 28 октября 2008

Есть несколько способов сделать это. Первое, что вы можете сделать, это создать проект, который будет создан как платформа для Mac OS X. Поскольку вы не можете использовать платформы на iPhone, вы можете сделать статическую библиотеку целевой, которая содержит те же файлы кода. Это в основном работает, но пути заголовка будут другими. Если вы хотите, чтобы пути заголовков были одинаковыми (т. Е. ), вам нужно изменить путь установки заголовков статической библиотеки, чтобы они копировались в "$ SDK_ROOT / usr / local / include" / MyFramework ", и убедитесь, что / usr / local / include является включенным путем поиска заголовка. Затем вам нужно будет установить библиотеку и заголовки в каждый SDK_ROOT.

Я начал с того, что делал выше, но я обнаружил, что это королевская боль. В итоге я сделал что-то, что является вариантом № 2. По сути, я получаю пути заголовка эквивалентными, создав каталог с именем «Externals» в корне моего проекта iPhone, а затем каталог с соответствующим именем («MyFramework») в папке «externals». Это папка, которую я копирую, и перетаскиваю файлы фреймворка. Наконец, я добавляю папку Externals в качестве пути к системному заголовку (что, по общему признанию, является своего рода грубым взломом). Вам нужно вручную добавить новые файлы в проект iPhone, но я обнаружил, что установка статических библиотек в корень моей сборки будет менее сложной.

1 голос
/ 23 октября 2008

Я не уверен, сработает ли предложение из предыдущего ответа. Если вы посмотрите на мой предыдущий вопрос , вы увидите, что мне не удалось загрузить пользовательскую платформу на iPhone, хотя она отлично работает на Mac.

Я бы пошел с методом 2.

0 голосов
/ 07 декабря 2008

Вы можете разработать свое приложение на JavaScript, CSS и HTML. Вы должны использовать объекты WebView и UIWebView на Mac и iPhone соответственно. Вы можете делать практически все, что вам угодно, в объектах WebView, даже делать вызовы до Objective-C.

Установщик QuickConnectiPhone, найденный здесь https://sourceforge.net/projects/quickconnect/, устанавливает шаблоны QuickConnectMac и QuickConnectiPhone в Xcode.

Таким образом, вы можете быстро создать приложение в одной среде, а затем перенести представление в другое. На самом деле структура QuickConnect является очень модульной.

Если вы не хотите разрабатывать на JavaScript, такая же модульная структура находится на стороне Objective-C установленных шаблонов.

Вам должно быть намного легче делать то, что вы пытаетесь.

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