XCode 6 и Ad-Hoc без XC: подготовка

Вчера я загрузил Xcode 6, и теперь у меня есть проблема, которую я не могу решить. В моем членском центре у меня есть действующий сертификат и специальная подготовка (распространение). До вчерашнего дня, в Xcode 5, если бы я хотел добавить мой .ipa в TestFlight, я использовал Archive и выбирая мой действительный ad-hoc-профиль. Я даже не был зарегистрирован в моей учетной записи разработчика в Xcode.

Теперь - в Xcode 6 - ничего не работает вообще. Хорошо, я выполнил входные настройки, Xcode загрузил все мои настройки на Mac, но всякий раз, когда я выбираю Export, он говорит, что у меня нет соответствующего профиля подготовки, и он создает новый профиль подготовки с префиксом XC: t хочет использовать, потому что он содержит все устройства, которые у меня есть в центре участников - даже те, которые я не хочу включать в свое приложение!

Я пробовал все из этих потоков:

Xcode 6 - Как выбрать подпись сертификата/профиля для распределения Ad-Hoc?

Архив Xcode 6 GM

но для меня ничего не работает. Может быть, я не понимаю правильно, как это работает, и есть трюк, который мне нужно сделать, но я хотел бы использовать профиль подготовки, определенный мной. Я пытался создать новый профиль подготовки, переименовать старый, удалить все с Mac, перетащить профиль профиля с рабочего стола на значок Xcode, выбрать правильный профиль Provisioning Profile в Build Setting снова и снова, но я застрял.

Скриншоты здесь:

введите описание изображения здесь

введите описание изображения здесь

Мой Ad-hoc профиль - это профиль распространения.

Ответ 1

У меня есть обходное решение для этого, которое работает для меня.

У меня установлены как Xcode 6, так и Xcode 5.1.1, Xcode 6 находится в приложениях, а Xcode 5.1.1 - в другом каталоге. Когда я хочу сделать сборку, я использую Xcode 6 для создания Архива. Но вы также можете увидеть созданный архив в Xcode 5.1.1, поэтому я использую Xcode 5.1.1 для распространения Ad Hoc.ipa, используя профиль подготовки, который я хочу использовать. Поэтому создайте с помощью Xcode 6, но распространяйте его с помощью Xcode 5.1.1. Это работает для меня.

Ответ 2

Невозможно получить Xcode 6.x для использования специального профиля, который не содержит всех устройств в вашей команде; это по дизайну.

Ответ 3

Теперь Xcode6 всегда создает новый профиль предоставления AdHoc с префиксом "XC" при экспорте архива для тестирования (например, приложение для хоккея). Для этого вы всегда должны иметь последний сертификат распространения App Store и закрытый ключ в цепочке ключей.

ПРИМЕЧАНИЕ. Вам не нужно иметь этот последний сертификат распространения, выбранный в профиле настройки, с которым вы создали архив. Также имейте в виду, что вам не нужно иметь профиль подготовки AdHoc для экспорта AdHoc ipa.

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

Что-то еще, о чем следует помнить, заключается в том, что при экспорте ipa вы вынуждены тестировать push-уведомления через свои серверы распределения/производства, поскольку использует новый профиль, созданный с помощью собственной разработки "Distribution XC: AdHoc".

Если вы используете Urban Airship, как мы, вы больше не можете использовать ключи разработки для тестирования. Если вы посмотрите в разделе "Права", как только вы пройдете шаги по экспорту, вы увидите, что "aps-environment" настроено на "production". Если кто-нибудь найдет альтернативное решение для этого, дайте мне знать.

Ответ 4

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

Мое решение для него состояло в том, чтобы удалить этот профиль обеспечения XC: как от Apple Developer Portal, так и от Xcode → Настройки → Apple ID → Просмотреть детали → XC: профиль подготовки → щелкните правой кнопкой мыши Go To Finder → delete

Надеюсь, что это поможет,

Ответ 5

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

После того, как вы создали архив, вы можете экспортировать его с определенным профилем подготовки из командной строки:

xcodebuild -exportArchive -archivePath "~/Library/Developer/Xcode/Archives/{some-date}/{имя приложения date, time.xcarchive" -exportPath {appname} -exportFormat ipa -exportProvisioningProfile "{имя профиля подключения}"

Обратите внимание, что имя профиля инициализации - это просто имя, без какого-либо расширения пути или файла.

Ответ 6

Я столкнулся с этим и сегодня.

В итоге я удалил профиль XC с портала разработчиков и заново создаю свои профили ad-hoc и app store и загружаю их снова.

После того, как я это сделал, когда я построил и попытался отправить в магазин приложений, появился правильный профиль App Store. Когда я отправился на экспорт для ad-hoc, появился правильный профиль ad-hoc.

Yay;)

Ответ 7

Я столкнулся с аналогичной проблемой и обнаружил, что даже если вы укажете правильные профили в Xcode, система Xcode6 хочет, чтобы у вас был последний профиль из центра поддержки (для каждой команды, против которой работает ваша учетная запись). Кажется, что каждый из них идет по очереди, прежде чем использовать тот, который вам нужен, и блокируется, если у вас нет профиля подготовки для команд, к которым вы принадлежите.

Ответ 8

Я столкнулся с этим.

Никакое решение не работало.

В итоге я перешел к сборке командной строки, используя nomad cli shenzen. Еще один отличный проект с открытым исходным кодом by mattt

Теперь я перехожу в оболочку и просто набираю:

ipa build

DONE

У них даже есть опции для отправки ipa на любую специальную услугу, которую вы хотите. Высокий.

Ответ 9

В Xcode 6 (как минимум, 6.1 я использую сейчас), когда вы делаете экспорт для ad hoc, xcode 6 будет автоматически сканировать, если есть профиль обеспечения, содержащий все устройства, зарегистрированные в учетной записи разработчика, и в то же время соответствует идентификатор пакета. Если нет, он будет использовать профиль предоставления XC. Поэтому, если вы хотите использовать свой собственный профиль, например, для push-уведомления, вам нужно будет выбрать все устройства в своем профиле на портале разработчиков Apple. Я предполагаю, что причина, по которой некоторые люди воссоздают профиль, будет работать, а некоторые - нет.

Ответ 10

Мой путь намного проще:
Я перехожу к профилю подготовки разработчика и повторно создаю свой профиль Ad Hoc, выбрав "Редактировать", затем "Создать", загрузить его и установить с помощью двойного щелчка. При экспорте .ipa выбирается правильный (мой) профиль.
Apple использует только последний профиль профилирования, очевидно.