Для iOS:
У меня есть промежуточное и производственное приложение для iOS, установленное на одном устройстве. Я не могу ответить на это для Android, но вот моя настройка для iOS с push-уведомлениями Parse.
О. Несколько версий приложения на одном устройстве:
Чтобы оба приложения были установлены на одном устройстве, они должны иметь разные идентификаторы пакетов. Для этого:
- Откройте свой проект и перейдите на вкладку «Информация» для вашей цели.
- Найдите параметр Идентификатор пакета.
- Добавьте суффикс в конце идентификатора следующим образом:
com.MyApp$(BUNDLE_ID_SUFFIX)
- Теперь откройте вкладку «Параметры сборки» и добавьте новый параметр «Определяемый пользователем».
- Установите имя настройки
BUNDLE_ID_SUFFIX
- Add a different suffix for each of the build configurations that you have. e.g. Debug could have the value
.debug
. Leave the suffix for the Release configuration empty. I have 3 build configurations with different suffixes.
- Debug for testing as I am developing
- Adhoc для выпуска специальных сборок для тестировщиков.
- Релиз для выпуска в App Store.
- Если вы пойдете по этому пути, вы заметите, что все версии приложения, установленные на вашем устройстве, имеют одинаковое имя, и их будет сложно отличить друг от друга.
- Чтобы это исправить, вернитесь на вкладку «Информация» и измените параметр Отображаемое имя пакета, указав
${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}
.
- Подобно тому, что мы сделали выше, создайте новый пользовательский параметр с именем
BUNDLE_DISPLAY_NAME_SUFFIX
и добавьте разные значения для каждой конфигурации сборки. например мои говорят α и β.
Вышеупомянутое позволит вам установить несколько версий приложения на одном устройстве.
B: Настройте push-уведомления, используя синтаксический анализ между версиями.
Чтобы настроить push-уведомления Parse для работы в этих версиях, следуйте руководству по Parse, чтобы создать сертификаты и профили подготовки для < em>каждый идентификатор пакета. например У меня есть 3 сертификата/профиля подготовки для моих 3 идентификаторов пакетов:
- com.MyApp.debug — это профиль разработки для DEBUG.
- com.MyApp.adhoc — это профиль AdHoc Production для специального тестирования.
- com.MyApp — это производственный профиль AppStore для отправки в App Store.
Обязательно установите правильные профили подготовки в настройках сборки, чтобы приложение было правильно подписано.
Загрузите все сертификаты на Parse.com. Parse позволяет вам иметь 6 разных push-сертификатов iOS.
C: использование разных рабочих и промежуточных серверов.
Настройте макросы предварительной обработки на вкладке Настройки сборки. Найдите Препроцессор и в разделе Apple LLVM 6.1 — Предварительная обработка для параметра Макросы препроцессора настройте разные макросы для каждой конфигурации сборки. например мой говорит для Adhoc ADHOC=1
, для отладки DEBUG=1
Затем где-то в вашем исходном коде есть что-то вроде следующего:
#if defined(DEBUG)
#define SERVER <development server>
#else
#if defined(ADHOC)
#define SERVER <staging server>
#else
#define SERVER <production server>
#endif
D: Отправка сборок тестировщикам.
Эта тема наверняка поднималась неоднократно. Мне не нравится процесс бета-тестирования Apple. Существует множество других решений. Мне нравится Beta от Crashlytics.
Вы можете прочитать об этом здесь: http://try.crashlytics.com/beta/
Я развертываю конфигурацию сборки AdHoc для тестировщиков, так как она создается с профилем подготовки Adhoc, который позволяет мне развертывать ее на 100 устройствах без одобрения Apple.
person
Kostub Deshmukh
schedule
16.04.2015