2014-02-17 2 views
2

У меня возникла очень сложная задача на работе, и я не смог придумать удовлетворительное решение для своих собственных исследований, поэтому я решил, что попрошу здесь, в случае, если кто-то другой имел подобный опыт.Настройка проекта Xcode для легкого создания «вспомогательных приложений»

В основном я собираюсь начать кодирование приложения, которое служит своего рода «хабом» для событий, пользователь сможет найти интересующее их событие, выбрать его и увидеть подробности об этом/взаимодействовать в том, что по существу было бы его собственным «микроприложением».
Проблема заключается в том, что мне также необходимо легко взять «модель» (общую логику пользовательского интерфейса, общие ресурсы и процедуру и т. Д.) Для этого «микроприложения» и превратить их в автономное приложение, посвященное одному событию, минимальное усилие (это необходимо сделать не-кодером с помощью некоторых инструкций по установке, а не путем собственно кодирования, но не «одним щелчком мыши»).

Я пробовал использовать подпроекты, в частности, иметь подпроект, который составляет мини-приложение, быть включенным в проект «хаба», но я не могу понять, как распределять ресурсы между ними.
Я попытался создать простое тестовое приложение, которое загружает UIViewController из подпроекта, и, хотя я смог, чтобы родитель узнал заголовки, мне не удалось загрузить ресурсы (а именно раскадровку).

Я изучаю использование статической библиотеки (возможно, используя шаблон Xcode для упрощения процесса для не-кодера), поскольку я понимаю, что это позволит мне также упаковывать ресурсы, но похоже, что они усложнили работу «затеняя» то, что находится внутри библиотеки (особенно, если я хотел одновременно работать как с «микроприложением», так и с «хабом»), поэтому мне было интересно, есть ли лучший способ, о котором я не знаю.

Конечно, я мог бы просто создать шаблон после завершения кода, который позаботится о «простом создании», но тогда мне нужно будет обновить шаблон каждый раз, когда что-то изменится.

ответ

0

Если я правильно понимаю вас, Xcode делает это действительно простым, на самом деле. Создайте базовое приложение и добавьте повторяющиеся цели для других версий.

Если вам нужно различать вещи в общем коде, добавьте флаг компилятора для каждой цели, а затем используйте код #IFDEF s в своем коде для разграничения. Вы также можете создавать разные раскадровки на основе каждой цели или использовать их для каждой цели. Похоже, вам это не понадобится.

Чтобы создать цель, нажмите на проект в навигаторе проекта в Xcode, а затем щелкните правой кнопкой мыши на существующей цели приложения (не один с суффиксом «Тестирование»), а затем выберите «Копировать». Оттуда вы можете изменить название продукта, чтобы оно было подходящим для этого «мини-приложения».

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

+0

Значит, цели были бы хорошим подходом к этому? В настоящий момент мне удалось обменяться ресурсами через статическую библиотеку, в которую входит пакет. Я столкнулся с проблемой «безвестности», добавив библиотеку в качестве подпроекта, и, похоже, она работает достаточно хорошо, хотя я опасаюсь проблем позже в разработке. Дело в этих «мини-приложениях» заключается в том, что все они будут одинаковыми поэтому мне не нужно добавлять новые «части» в приложение-концентратор, это больше похоже на то, что мне нужно принять «мини-приложение» и легко переместить его в новый автономный проект, поскольку он действует как его будет использоваться при использовании приложения «концентратор» –

+0

О, если вам нужно перенести его в новый проект, цель, безусловно, не лучший способ сделать это. – ahruss

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