2009-12-19 12 views
11

Пока я играю в прототипирование, мне часто нужно вернуться к сравнению со старыми версиями, чтобы лучше понять, правильно ли я нахожусь на правильном пути или нет. Но это долгий процесс, когда приходится проверять старую версию и реэкспортировать каждый раз, когда мне нужно проверить конкретную версию. Было бы гораздо более плавным, если бы я мог просто запускать разные версии.Установка различных версий одного и того же проекта iPhone?

Как можно установить несколько версий одного и того же проекта на устройстве?

ответ

11

Если вы даете программам разные идентификаторы пакетов, их можно установить на одном устройстве. Возможно, добавьте новую цель сборки, которая добавляет случайное число (или строит ревизию, или svn-ревизию и т. Д.) В конец идентификатора пакета (и, возможно, имя приложения), тогда вы можете установить сразу несколько версий.

Например, у вас может быть приложение «com.mycompany.mygame» с заголовком «MyGame», и ваш скрипт создаст такие версии, как «com.mycompany.mygame43» с заголовком «MyGame43».

Однако это может быть нанесено поражением от любви Apple к тому, чтобы все разработчики затрудняли разработку, также известную как подписание кода. Я лично не занимаюсь разработкой App Store, но знаю, что профили подготовки могут быть огромной болью, и у них могут быть проблемы с этим подходом. Кто знает.

Редактировать: угадать, что он работает с подписями кода, но не в приложениях.

+0

Это, безусловно, так, как я это делаю. +1. – Goles

+0

Возможно, стоит отметить, что для этого вам нужно будет использовать идентификатор приложения подстановочного знака в своем профиле разработки. Я упоминаю об этом, потому что некоторые приложения, например те, которые используют покупку в приложении, не могут использовать идентификаторы подстановочных знаков в профилях подготовки. – Jasarien

+0

Jasarien это важный момент. Разве решение erastusnjuki не решит проблему покупки в приложении? (изменение имени продукта вместо идентификатора пакета) –

2

Вам понадобится каждая версия с другим идентификатором пучка.

Вы можете создать скрипт, который редактирует ваш Info.plist, чтобы добавить номер версии к идентификатору пакета и создать пользовательскую фазу сборки для запуска скрипта для вас ... или вы можете просто отредактировать идентификатор пакета вручную.

1

Edit, чтобы выделить ранее третий вариант и способ теперь справиться с этой проблемой:

я хотел бы использовать Control Source, чтобы пометить каждую версию - так что легко вернуться к коду для предыдущей версии. Должна быть возможность проверить тегированный проект в отдельной папке (для этого я использую Subversion).

После того, как у вас установлена ​​более старая версия в отдельном каталоге, измените идентификатор Bundle - добавьте имя тега и создайте его и т. Д. При изменении идентификатора пучка - убедитесь, что вы не измените начальный номер, и приложение все равно должно работайте с профилем настройки. Это предполагает, что у вас есть профиль настройки подстановки, который вы используете для разработки. Если вам нужно включить Nofifications или покупки In-App, это может оказаться невозможным.

=============================

Предыдущая версия ответа:

У меня есть быстрый трюк, который я использую для хранения версий - я использую разные версии Simulator, и во время разработки я продолжаю перемещаться между разными версиями. Если вы делаете это с помощью симулятора, вы также можете перемещать файлы.

Однако на устройстве вам придется изменить идентификатор вашего пакета, как указано выше. Я бы отредактировал версию пакета каждый раз, когда я хотел бы заморозить функции и перейти к новой фазе.

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

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

2

Я делаю это и работает для меня: Я использую тот же проект с разными названиями продуктов.

1.Changing названием продукта

XCode Группа & Файлы панели -> Задания -> Projectname -> (Ctrl + Click) Get Info -> Build -> Имя продукта.

Это позволяет мне создавать множество приложений (с разными именами в соответствии с версией, например AppName1.1, AppName1.2) на том же устройстве, используя тот же профиль обеспечения.

2.Для каждого проекта я создаю папку с ProductName только для идентификации.

Итак, проект с именем продукта AppName1.1 будет содержаться в папке AppName1.1 и т. Д. Включая небольшой файл readme.txt, когда я вношу много изменений в папку версии.

Название проекта остается неизменным, если я изменю его, это не сработает.

0

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

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