Конфликт между профилями распространения inHouse и appStore - PullRequest
2 голосов
/ 24 августа 2011

У нас есть профиль распространения для релизов appStore и один профиль для распространения inHouse.Оба имеют одинаковые названия компаний.Проблема, с которой мы сталкиваемся сейчас, заключается в том, что когда мы пытаемся собрать дистрибутив, мы получаем ошибку:

[BEROR]CodeSign error: Certificate identity 'iPhone Distribution: OurCompanyName' appears more than once in the keychain. The codesign tool requires there only be one.

Как мы можем это исправить?

Редактировать: Mac, который мы используем дляЗнак используется для непрерывной интеграции (через Bamboo), поэтому он предназначен для сборки без присмотра.Это делает переключение учетных записей пользователей невозможным ...

Ответы [ 2 ]

4 голосов
/ 16 декабря 2011

Решение: Я поместил все связанные с appstore вещи в цепочку для ключей входа в систему, а корпоративные вещи в отдельный файл цепочки для ключей.

В buildscript я переключаюсь между ними следующим образом:

    # 1. Only activate the System and either the Appstore(=login) or Enterprise keychain.
security list-keychains -s $KEYCHAIN_NAME $SYSTEM_KEYCHAIN

# 2. Loop through App Schema's
for APP_SCHEME in ${APP_SCHEMES[@]}; do
    echo "--=  Processing $APP_SCHEME  =--"
    xcodebuild -scheme "${APP_SCHEME}" archive
done ### Looping through App Schema's

# 3. Restore login & system keychains
security list-keychains -s $APPSTORE_KEYCHAIN $ENTERPRISE_KEYCHAIN $SYSTEM_KEYCHAIN
0 голосов
/ 24 августа 2011

Используйте две разные учетные записи пользователей Mac (разные учетные записи) для хранения двух разных наборов сертификатов и положений (две разные цепочки для ключей и т. Д.).Проверьте исходный код из общего репозитория и выполните окончательные сборки в соответствующих учетных записях пользователей.

...