Добавить UDID в профиль подготовки без использования Apple Developer Portal

Мой вопрос отличается от других подобных вопросов, потому что похожие были заданы в то время, когда Apple Developer Portal не работал из-за взлома.

Есть ли способ автоматизировать добавление новых UDID в профиль обеспечения?

Я работаю в компании, которая занимается бета-версией приложения, которое медленно развертывает частную бета-версию на 20 тысяч пользователей для существующих клиентов. Другими словами, я не хочу вручную добавлять 20 000 UDID с помощью ADP в течение следующих 6 месяцев. Имейте в виду, мне нужно попросить пользователя указать его адрес электронной почты, отправить ему электронное письмо в бета-менеджере, заставить его открыть электронное письмо, чтобы щелкнуть ссылку, чтобы я мог получить их UDID, затем мне нужно вручную открыть ADP, чтобы добавить это. Все это необходимо сделать до того, как я обновлю свой профиль в Xcode, а затем заархивирую сборку для развертывания на них. В интересах здравомыслия и эффективного использования времени для исправления ошибок, о которых сообщают бета-пользователи, весь этот процесс кажется безумным. Мы уже добавили 50 таким образом, и это сводит меня с ума.

Я думал, что Fabric Beta может хорошо справиться с этим для меня, но это не так.

Есть ли интерфейс командной строки для добавления UDID? Или есть способ пригласить пользователей по электронной почте, и если они откроют электронную почту на своем устройстве, они смогут установить наше бета-приложение без необходимости сначала добавлять их UDID вручную в ADP? Устраняет ли это обновление до учетной записи Apple Enterprise?

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


person jungledev    schedule 15.07.2016    source источник
comment
Прочтите ваш договор разработчика с Apple. Частная бета-версия для 20000 клиентов - это определенно не то, что вам следует делать, если вы хотите сохранить свою лицензию разработчика.   -  person gnasher729    schedule 16.07.2016
comment
Если у вас есть стандартное членство разработчика, вы можете добавлять только 100 UUID в год и иметь только 100 активных UUID в любое время. Если вы используете корпоративную учетную запись разработчика, вам не нужно добавлять UUID. Вы можете просто распространять приложение напрямую   -  person Paulw11    schedule 16.07.2016
comment
Вы ищете что-то вроде TestFlight, которое позволяет вам делать общедоступные бета-версии. Проблема в том, что я считаю, что TestFlight ограничен 2000 бета-тестерами. Для масштаба, который вы пытаетесь сделать, я думаю, вам придется создать страницу входа, где вам нужно будет поддерживать базу данных из 20000 электронных писем. и убедитесь, что пользователь участвует в бета-версии при первом запуске приложения. Это не должно быть слишком сложно, но iTunes Connect не предназначен для этого.   -  person wottle    schedule 16.07.2016
comment
@ gnasher729 это законный сценарий. Это производственное приложение, которое насчитывает более 300 тыс. Пользователей, и наша новая версия с новыми компонентами, которые работают с приложением, будет постепенно выпускаться для ограниченной группы существующих клиентов. Нам необходимо сделать это, пока мы наращиваем производство наших компонентов, чтобы мы могли улучшить взаимодействие с пользователем, прежде чем мы сделаем наши компоненты доступными для покупки всеми 300 тысячами пользователей. Это НЕ нарушает лицензию разработчика.   -  person jungledev    schedule 18.07.2016
comment
@wottle, ваше предложение явно не сработает для меня. Нет смысла создавать логин по вашему предложению.   -  person jungledev    schedule 20.07.2016
comment
@ Paulw11 или gnasher, знаете ли вы, могу ли я распространять приложение с корпоративной учетной записью разработчика на устройства, которыми моя компания не владеет? На этот вопрос очень сложно найти ответ в документации. Использовал ли кто-нибудь из вас Apple B2B App Store, который позволяет выпускать приложения в частном порядке? Какой мне использовать?   -  person jungledev    schedule 20.07.2016
comment
Спросите, поймите это, условия корпоративной программы предназначены для устройств компании, но многие организации используют BYOD, поэтому вполне возможно, что компания не будет владеть всеми устройствами, на которые она хочет распространять. Право собственности на устройство не применяется; вы можете установить его на любом устройстве, имеющем доступ к URL-адресу установки. B2B используется, когда человек / компания, разрабатывающая приложение, отличается от компании-клиента. Это может сработать и для вас, но обычно требуется, чтобы целевые устройства управлялись MDM для распространения приложения.   -  person Paulw11    schedule 20.07.2016
comment
Да, вы можете распространять приложение на устройства, которыми не владеет ваша компания. Я бы не взимал плату за использование приложения, потому что, по сути, вы бы создали платный магазин приложений, чтобы конкурировать с Apple, а им это определенно не понравится.   -  person wottle    schedule 20.07.2016
comment
Также не забывайте об обслуживании корпоративного приложения профиля распространения. Срок действия профиля истечет через год, поэтому я бы создал способ, позволяющий приложению проверять наличие обновлений и автоматически загружать новые версии вместе с новым профилем подготовки по мере необходимости. Больно заставлять 300000 пользователей перейти на веб-сайт, чтобы загрузить новую версию приложения, когда текущая неожиданно вылетает при запуске (когда срок действия профиля истекает, приложение просто вылетает при запуске)   -  person wottle    schedule 20.07.2016
comment
Кроме того, @ jungledev, я не думаю, что вы поняли мое предложение. Почему бы не контролировать бета-пользователей в приложении через систему приглашений. Многие разработчики приложений успешно развернули бета-версию только по приглашению. И это позволит избежать головной боли, связанной с наличием профиля обеспечения, срок действия которого истекает в течение года. Если у вас не сработает, укажите, почему, мне это не понятно.   -  person wottle    schedule 20.07.2016
comment
@wottle, потому что его нет в магазине приложений, и мы не хотим помещать эту версию в магазин приложений. Мы публикуем обновления для него ежедневно и не хотим иметь дело с правилами магазина приложений пока, когда нам нужно делать обновления. Он появится в магазине приложений до выставки CES 2017. Это чрезвычайно прибыльная компания - срок действия профиля инициализации и необходимость его продления тривиальны.   -  person jungledev    schedule 20.07.2016
comment
Хорошо, эти детали были бы полезны в исходном вопросе. Так что, похоже, вашим ответом будет профиль обеспечения предприятия. Если вы работаете в компании, подать заявку и получить корпоративную учетную запись в дополнение к обычной учетной записи разработчика должно быть несложно.   -  person wottle    schedule 21.07.2016


Ответы (2)


Способ запустить приложение на устройстве iOS без индивидуальной регистрации идентификатора устройства в профиле (что в любом случае не сработает для вас, поскольку существует ограничение в 100 устройств на учетную запись) - это использовать профиль Enterprise Distribution. Если приложение подписано корпоративным профилем, оно может работать на любом устройстве.

Пользователи должны будут «доверять» удостоверению подписи, что включает в себя вход в настройки. Однако доверие к подписывающей личности - это одноразовая вещь. Это может быть что-то, что вы можете включить в инструкции для своих бета-тестеров.

Чтобы создать корпоративный профиль, вам нужно будет зарегистрировать дополнительную учетную запись корпоративного разработчика здесь. Это 299 долларов в год в дополнение к вашей обычной учетной записи разработчика. После этого вы создадите новый корпоративный профиль распространения и будете использовать его в настройках сборки для сборки / подписи приложения.

Обратите внимание, что профиль предприятия истекает через год с момента его создания, как и профиль разработчика. Сертификат должен длиться 3 года. Если вы планируете, чтобы пользователи продолжали использовать приложение по истечении срока действия профиля, лучше всего встроить в приложение простую проверку обновлений, которая будет предлагать пользователям обновить приложение примерно за месяц до истечения срока действия. По истечении срока действия профиля, как и стандартного профиля разработчика, приложение просто вылетает на устройстве пользователя без объяснения причин.

person wottle    schedule 25.07.2016
comment
Я не думаю, что корпоративная учетная запись - это решение, потому что мы не владеем устройствами, и пользователи будут не только сотрудниками компании. Даже если Apple на самом деле не расследует корпоративное использование / злоупотребления, наша компания слишком велика, чтобы принять риск быть пойманным на этом. Похоже, что у нас есть только два варианта: запустить его с помощью TestFlight, приняв ограничение на 2000 пользователей и ограничение продолжительности тестирования 60 дней на сборку, или просто запустить его как новое приложение в магазине приложений и разрешить только входы в систему. для пользователей, включенных в бета-версию. - person jungledev; 29.07.2016
comment
Да, если они находятся за пределами организации, вы рискуете заблокировать их со стороны Apple. Хотя, для тестирования, я думаю, что это потенциально впишется в предполагаемое использование, если вы не пытаетесь фактически выпустить программное обеспечение. Что касается запуска в магазине приложений, вот статья кампании kickstarter, в которой они работали над проблемой, выпуская в магазин и требуя входа в систему для пользователей, чтобы получить полную функциональность: sixtostart.com/onetoread/2012/ Я считаю, что приложение" Почтовый ящик "сделало нечто подобное . - person wottle; 29.07.2016

Я наконец-то понял.

На основании этого вопроса и слишком много потраченного впустую времени на пробу других решений заранее, я решил, что единственный разумный способ добиться этого без нарушения условий обслуживания Apple (что вы будете делать, если будете распространять приложения среди лиц, не являющихся членами команды). через портал для разработчиков Enterprise) заключается в использовании TestFlight, создании нескольких приложений в TestFlight (каждое из которых должно иметь отдельные имена приложений + идентификаторы пакетов) одного и того же приложения и одновременном запуске нескольких внешних бета-сессий. Если вы автоматизируете это с помощью Fastlane, вы можете изменить имя приложения + bundleId для каждой версии сразу и загрузить их все в TestFlight сразу, чтобы не сойти с ума из-за необходимости повторять одно и то же много раз.

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

person jungledev    schedule 09.08.2016