Управление 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 (если вам это нужно), если права установлены с одним и тем же идентификатором группы. Но это может быть проблемой, если у вас есть две отдельные учетные записи разработчика.