Управление iOS Enterprise Developer Program

Недавно мы зарегистрировались в iOS Enterprise Developer Program, чтобы иметь возможность использовать собственное распространение, что значительно упрощает развертывание приложений внутри нашей компании, которое довольно велико. Перед тем, как присоединиться, мы тщательно прочитали программную документацию и знали, что новая учетная запись будет полностью отделена от стандартной учетной записи, которую мы используем для отправки в AppStore.

В чем я не уверен, так это в том, что было бы лучшим способом организовать две учетные записи на порталах разработчиков. Меня больше всего интересует идентификатор пакета, поскольку я буду иметь дело с двумя разными идентификаторами пакета внутри XCode для каждого приложения. Все наши приложения используют iCloud и Push-уведомления, поэтому подстановочный знак не подходит.

Как вы организуете это внутри XCode? Вы создаете две разные цели или можете управлять ими с помощью новой Конфигурации проекта? Как насчет прав на iCloud?

РЕДАКТИРОВАТЬ

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

EDIT2

Учитывая, что корпоративная программа не предоставляет вам доступ к iTunesConnect, где можно настроить тестовых пользователей и идентификаторы продуктов, действительно ли нет возможности протестировать покупки InApp?

1 ответ

Решение

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

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

Так, например, вы можете создать свою конфигурацию Enterprise:

Затем перейдите к настройкам сборки вашей цели и добавьте пользовательский параметр сборки:

Дайте ему имя как BUNDLE_IDи, если вы развернете треугольник, вы можете присвоить ему разные значения для каждой конфигурации:

Затем откройте файл Info.plist и введите ${BUNDLE_ID} для значения идентификатора пакета:

Когда вы компилируете, используя конфигурацию "Enterprise", которую вы можете сделать с помощью пользовательской схемы (или через процесс компоновки командной строки, если это то, что вы используете), будет использоваться соответствующий идентификатор пакета.

Вы также можете настроить параметры профиля подписи кода / обеспечения таким же образом:

После этого будут использоваться правильные права push-уведомлений /iCloud в зависимости от конфигурации.

Мы занимаемся такими вещами уже давно. Наш сервер сборки будет генерировать версии наших приложений для предприятий и магазинов приложений для каждой сборки, используя именно эту технику.

Когда дело доходит до портала обеспечения, вам нужно будет настроить оба идентификатора приложения отдельно для push-уведомлений, iCloud и т. Д.

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

По умолчанию хранилище iCloud будет полностью отдельным для двух версий. Они могут иметь доступ к одному и тому же хранилищу iCloud (если вам это нужно), если права установлены с одним и тем же идентификатором группы. Но это может быть проблемой, если у вас есть две отдельные учетные записи разработчика.

Другие вопросы по тегам