it-roy-ru.com

Распределение XCode 6 и Ad-Hoc без XC: подготовка

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

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

Я пробовал все из этой темы:

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

Xcode 6 GM создает архив

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

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

 enter image description here

 enter image description here

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

20
Roval

У меня есть обходной путь для этого, который работает для меня.

У меня установлены 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. Меня устраивает.

4
Adam Freeman

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

6
clarkcox3

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

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

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

Следует также помнить, что при экспорте ipa вы вынуждены тестировать Push-уведомления через свои серверы распространения/производства, так как он использует новый самостоятельно созданный профиль обеспечения «Distribution XC: AdHoc». 

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

3
Chris Murphy

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

Моим решением было удалить этот профиль XC: предоставления как из портала разработчика Apple, так и из Xcode -> Настройки -> Apple ID -> Просмотреть сведения -> XC: профиль обеспечения -> щелкнуть правой кнопкой мыши Перейти к Finder -> удалить 

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

2
grgmo

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

Я закончил тем, что удалил профиль XC с портала разработчика, воссоздал другие свои профили ad-hoc и магазина приложений и снова загрузил их.

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

Ура ;)

1
valheru

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

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

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

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

1
Oran Dennison

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

0
AlexHsieh

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

0
Faisal Memon

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

0
Milan Baloh

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

Никакое решение здесь не сработало.

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

Теперь я захожу в Shell и просто набираю:

ipa build

СДЕЛАННЫЙ

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

0
drudru