Чтобы распространять приложение среди наших тестеров, мы используем XCode, который мы делаем следующим образом:
- Архив приложений
- Распределить для Ad-Hoc
- Выберите профиль обеспечения
- Сохраните .ipa в папку
Но с Xcode 6 этот рабочий процесс был немного изменен. Я все еще могу выбрать вариант рассылки Ad-Hoc, но не могу выбрать нужный профиль обеспечения. Это не дает нам никакого контроля над тем, какой сертификат подписи используется, и конфигурацией профиля обеспечения (мы используем push-уведомления).
По умолчанию используется iPhone distribution
идентификация подписи и XC Ad Hoc
создается некоторый профиль обеспечения, который можно увидеть на изображении ниже:
Если вы щелкнете стрелку рядом с профилем обеспечения, откроется папка с профилями обеспечения.
Итак, мой вопрос:
Есть ли способ в Xcode 6 выбрать профиль обеспечения, используемый с распределением Ad Hoc?
Спасибо!
Ответы:
Я столкнулся с той же проблемой, решенной с помощью инструмента командной строки "xcodebuild", который предварительно установлен с Xcode 6 (не нужно было переустанавливать Xcode 5).
http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/
Скрипт в терминале:
источник
xcodebuild
, не имели-exportProvisioningProfile
переключателя.У меня была похожая проблема при отправке в App Store. Я создал архив, затем нажал «отправить», и XCode захотел автоматически подписать его с помощью подстановочного профиля по умолчанию «XC com. *» Вместо явного профиля, который уже имелся.
Чтобы это исправить, я просто заново сгенерировал профиль на портале разработчиков Apple:
1) Перейдите на сайт developer.apple.com и найдите профиль обеспечения распространения, который вы хотите использовать.
2) Выберите его, нажмите «Изменить», переименуйте профиль и нажмите «Создать».
3) Загрузите профиль обеспечения на рабочий стол и перетащите его на значок Xcode 6.
4) Перезапустите Xcode 6.
5) Откройте окно органайзера и нажмите «Отправить» в архиве, который вы создали. XCode автоматически выберет ваш явный профиль вместо общего.
источник
Когда вы находитесь в Организаторе
Конечно, вам необходимо сгенерировать, загрузить и установить специальный профиль обеспечения.
источник
Похоже, что последний созданный профиль инициализации выигрывает прямо сейчас. Таким образом, вы можете просто заново сгенерировать нужный профиль и загрузить его, и XCode будет использовать его.
Немного лучший подход: установите желаемый профиль prov в своей цели и используйте командную строку, чтобы построить свой ipa, который тоже работает.
Вот сценарий, который я использую:
и мои настройки:
источник
Я не мог понять это также - получил немного при отправке в AppStore, где по умолчанию использовался шаблон подстановки.
Я закончил сборку в Xcode 6, а затем вернулся к окну Organizer Xcode 5 для отправки. Таким образом, вам будет предложено выбрать профиль для подписи.
источник
В Xcode 6 (по крайней мере, 6.1, который я сейчас использую), когда вы выполняете экспорт для ad hoc, xcode 6 будет автоматически сканировать, если какой-либо профиль обеспечения содержит все устройства, зарегистрированные в учетной записи разработчика, и в то же время соответствует идентификатору пакета. , Если нет, он будет использовать профиль обеспечения XC. Поэтому, если вы хотите использовать свой собственный профиль, например, для push-уведомлений, вам нужно будет выбрать все устройства в своем профиле на портале Apple для разработчиков. Я полагаю, что именно поэтому некоторые люди воссоздают профиль, а некоторые - нет.
Кстати, сценарий использования может экспортировать и загружать в testflight, но устройство просто не может его загрузить. наверное где то я ошибся. Если кто-нибудь знает, почему это так, пожалуйста, дайте мне знать. ТКС
источник
Это сработало для меня:
Теперь вы должны увидеть правильное имя профиля обеспечения.
источник
У меня есть обходной путь для этого, который работает для меня.
У меня установлены 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.
источник
Использование локальных активов подписи при экспорте решило проблему для меня:
источник
Ответ от @MrPatol у меня не сработал. Мой рабочий сценарий для Xcode 6.3.2
В Центре участников -> Профили обеспечения iOS
В утилите настройки iPhone -> Профили обеспечения
В Xcode -> Органайзер
источник
Вот два ключевых момента, которые решили проблему для меня.
Xcode найдет правильный профиль обеспечения, сопоставив идентификатор приложения с идентификатором пакета приложения.
источник
Фактически вам необходимо создать новый профиль распространения, специфичный для специального развертывания. Это можно найти в классическом членском центре, но это новый тип сертификата.
Затем вы можете выбрать, какие устройства можно использовать для тестирования приложения, как в случае с профилем разработчика.
И вновь созданный сертификат будет доступен, когда вы экспортируете свою посылку из Организатора обычным способом.
В качестве альтернативы вы можете использовать решение TestFlight, предоставленное Apple с iOS 8, чтобы позволить вашему пользователю иметь доступ к предварительной версии.
источник
У меня была та же проблема, в конце концов, я решил ее, восстановив профиль, который я хотел использовать в Xcode 6, включая все устройства, которые я зарегистрировал в своей учетной записи iOS Dev, выполнив это таким образом, при выборе экспорта показывается правильный профиль, и я может сделать экспорт Ad Hoc с Xcode 6 без использования скрипта. Надеюсь, поможет.
источник
Я застрял некоторое время с этим, но с помощью Crashlytics решил, что сборка распределена с использованием выбранного профиля в настройках сборки вашего проекта XCode.
надеюсь, это кому-нибудь поможет.
источник
Почти такая же проблема. После создания архива для распространения (Product> Archive) вы экспортируете архив (нажмите Export ...) и выбираете «Сохранить для развертывания предприятия»; затем «Далее». Затем вы выбираете по умолчанию «Команда разработчиков» (например, название организации) и нажимаете «Выбрать». Наконец, вам будет представлен сводный вид, который также перечисляет профиль обеспечения, который Xcode автоматически нашел (может быть создан на лету) для вас. Это МОЖЕТ быть неправильным профилем обеспечения (обычно это профиль предоставления с подстановочными символами, например «XC: *»), и МОЖЕТ происходить, потому что на портале разработчика уже есть профиль подстановки с использованием подстановочных знаков.
Я использовал билет поддержки для этого и только получил эту ссылку обратно https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP40012582 -CH32-SW1 . Не очень большая помощь.
Я обнаружил, что решение MrPatol также работает для Enterprise Deployment и решает проблему для нас. Сначала я вошел на портал разработчика и вручную создал профиль обеспечения, подходящий для моего приложения. Затем загрузили и установили новый профиль обеспечения, созданный вручную.
источник
В xcode 7 я не смог выбрать adhoc инициализацию через
Органайзер -> Загрузить в App Store и Органайзер -> Подтвердить
Но я мог выбрать через Организатор -> Экспорт
Отредактировано:
Загрузка приложения после экспорта для adhoc в магазин приложений для testFlight вызвала еще одну проблему, обсуждаемую здесь . Итак, решение обеих этих проблем одно. Создайте инициализацию AppStore, чтобы иметь возможность выбрать его через органайзер и использовать testFlight, загрузив его в appstore.
источник
Файл optionPlist выглядит так:
app-store, enterprise, ad-hoc, разработка являются альтернативой
Это проблема с рубином. Попробуйте этот сценарий оболочки,
xcbuild-safe.sh
Что за черт
shell_session_update
? Позвольте нам обойти это. Просто определите функцию перед реальным xcodebuild cmd, а именно в строке 60 или 61.источник
В ответ на ваш конкретный вопрос, нет, нет никакого способа выбрать профиль обеспечения для использования. Что вы пытаетесь сделать? (то есть, что позволяет профиль, который вы хотите выбрать, что автоматически сгенерированный не позволяет?)
источник