Установка на ваше устройство как промежуточных, так и рабочих приложений iOS/Android.

У меня есть приложение, которое уже опубликовано в App Store и Play Store. Опубликованное приложение указывает на мой рабочий сервер. Что я хочу сделать, так это установить на мои устройства «промежуточное» приложение, которое указывает на мой промежуточный сервер, чтобы я не путался с реальными пользователями во время разработки. Таким образом, на моем устройстве будет два моих приложения — MyApp и MyApp_Staging. Промежуточное приложение должно иметь возможность распространяться среди моих тестировщиков.

Я использую функцию push-уведомлений от Parse. Как промежуточное приложение может иметь ту же функцию? Нужна ли мне еще одна учетная запись разработчика для промежуточного приложения?

Я изучал функции бета-тестирования iOS. Похоже, что мое промежуточное приложение должно быть проверено Apple, прежде чем я отправлю его своим тестерам. Как я могу пропустить процесс проверки? Для Android поэтапное развертывание кажется хорошей идеей, но поэтапное приложение заменит рабочее приложение.

Есть ли способ установить на устройства как промежуточные, так и рабочие приложения?


person nigong    schedule 16.04.2015    source источник
comment
У вас могут быть внутренние бета-тестеры для iOS, которые пропускают этап утверждения, но им должны быть предоставлены роли администратора или технических специалистов под вашей учетной записью, что далеко не идеально.   -  person kindasimple    schedule 16.04.2015


Ответы (2)


Для iOS:

У меня есть промежуточное и производственное приложение для iOS, установленное на одном устройстве. Я не могу ответить на это для Android, но вот моя настройка для iOS с push-уведомлениями Parse.

О. Несколько версий приложения на одном устройстве:

Чтобы оба приложения были установлены на одном устройстве, они должны иметь разные идентификаторы пакетов. Для этого:

  1. Откройте свой проект и перейдите на вкладку «Информация» для вашей цели.
  2. Найдите параметр Идентификатор пакета.
  3. Добавьте суффикс в конце идентификатора следующим образом: com.MyApp$(BUNDLE_ID_SUFFIX)
  4. Теперь откройте вкладку «Параметры сборки» и добавьте новый параметр «Определяемый пользователем».
  5. Установите имя настройки BUNDLE_ID_SUFFIX
  6. 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.
  7. Если вы пойдете по этому пути, вы заметите, что все версии приложения, установленные на вашем устройстве, имеют одинаковое имя, и их будет сложно отличить друг от друга.
  8. Чтобы это исправить, вернитесь на вкладку «Информация» и измените параметр Отображаемое имя пакета, указав ${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}.
  9. Подобно тому, что мы сделали выше, создайте новый пользовательский параметр с именем BUNDLE_DISPLAY_NAME_SUFFIX и добавьте разные значения для каждой конфигурации сборки. например мои говорят α и β.

Вышеупомянутое позволит вам установить несколько версий приложения на одном устройстве.

B: Настройте push-уведомления, используя синтаксический анализ между версиями.

Чтобы настроить push-уведомления Parse для работы в этих версиях, следуйте руководству по Parse, чтобы создать сертификаты и профили подготовки для < em>каждый идентификатор пакета. например У меня есть 3 сертификата/профиля подготовки для моих 3 идентификаторов пакетов:

  1. com.MyApp.debug — это профиль разработки для DEBUG.
  2. com.MyApp.adhoc — это профиль AdHoc Production для специального тестирования.
  3. 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
comment
Для тех, кто может найти это, у меня были только конфигурации сборки Debug и Release. Вы можете перейти в Editor > Add Configuration > Duplicate Debug Configuration, чтобы добавить дополнительную конфигурацию (в моем случае AdHoc). Вы должны убедиться, что выбрана вкладка информации и выбран проект (а не конкретная цель), чтобы сделать это! См. stackoverflow.com/questions/19842746/< /а> - person fullStackChris; 12.07.2021

Для Android

  • Чтобы установить оба приложения на одно и то же устройство одновременно, используйте разные имена пакетов для приложения.

com.company.testapp — для приложения в стадии разработки

com.company.live - Для приложения в режиме реального времени

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

  • Разверните код GCM/push-уведомления для обоих на разных серверах.

person Prateek    schedule 16.04.2015
comment
Спасибо @prateek. Это работает хорошо для меня. Для будущих зрителей вот способ быстро и красиво изменить имя пакета в Android Studio: stackoverflow.com/questions/16804093/ - person nigong; 17.04.2015