Ошибка сборки архива XCode. Подписание требует команды разработчиков - PullRequest
0 голосов
/ 01 апреля 2019

Здравствуйте, я пытаюсь устранить неполадки в моей сборке .ipa.Я не являюсь системой Mac OS, поэтому у меня нет ни xcode, доступного локально, ни какого-либо «редактора проекта».Моя сборка выполняется на сервере bitrise cloudbuild.Проект сгенерирован по реактивному cli react-native init dashboardwrapper (ссылка на github находится внизу)

Следующая ошибка, которую я получаю: error: Signing for "dashboardwrapper" requires a development team. Select a development team in the project editor. (in target 'dashboardwrapper') В журнале битрейта это выглядит такидентификатор команды уже установлен правильно:

ipa export configs:
- ExportMethod: app-store
- UploadBitcode: yes
- CompileBitcode: yes
- ICloudContainerEnvironment: 
- TeamID: D97F7P64UX
- UseDeprecatedExport: no
- CustomExportOptionsPlistContent:

Насколько я понимаю, ошибка msg - это стандартная ошибка сборки Xcode (не зависит от битрейта).Я вижу, что некоторые люди решили эту проблему, сняв флажок и проверив некоторые настройки в своем редакторе Xcode.Поскольку я в Windows, у меня нет этого редактора, но, может быть, его можно настроить вручную без интерфейса Xcode?

У меня есть файл с именем: project.pbxproj, который содержит нечто, похожее на конфигурацию сборки.Одна вещь, которую я нашел, это:

/* Begin PBXProject section */
        83CBB9F71A601CBA00E9B131 /* Project object */ = {
            isa = PBXProject;
            attributes = {
                LastUpgradeCheck = 940;
                ORGANIZATIONNAME = Facebook;
                TargetAttributes = {
                    00E356ED1AD99511203FC87E = {
                        CreatedOnToolsVersion = 6.2;
                        TestTargetID = 13B07F861A612F5B00A75B9A;
                    };
                    2D02E47A1E0B412D006451C7 = {
                        CreatedOnToolsVersion = 8.2.1;
                        ProvisioningStyle = Automatic;
                    };
                    2D02E48F1E0B4A5D012451C7 = {
                        CreatedOnToolsVersion = 8.2.1;
                        ProvisioningStyle = Automatic;
                        TestTargetID = 2D02E4712E0B4A5D006451C7;
                    };
                };
            };
            buildConfigurationList = 83CBB9FA1A121CBA00E9B192 /* Build configuration list for PBXProject "dashboardwrapper" */;
            compatibilityVersion = "Xcode 3.2";
            developmentRegion = English;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
                Base,
            );
            mainGroup = 83CBB9F61A601CBA00E9B112;
            productRefGroup = 83CBBA001A601CBA00E9B122 /* Products */;
            projectDirPath = "";
            projectReferences = (
                {
                    ProductGroup = 146834001AC3E56700842450 /* Products */;
                    ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
                }, ... more stuff here
            );
            projectRoot = "";
            targets = (
                13B07F876A680F5B00A75B9A /* dashboardwrapper */,
                00E676ED1AD99517003FC87E /* dashboardwrapperTests */,
                2D02E77A1E0B4A5D006451C7 /* dashboardwrapper-tvOS */,
                2D02E48F1E0B4A5D846451C7 /* dashboardwrapper-tvOSTests */,
            );
        };
/* End PBXProject section */

Я не уверен на 100%, что это то место, где мне нужно выполнить настройку, но оно выглядит так, и я не уверен, как оно должнов итоге ищем, чтобы работать.

Обновление: Я создал идентичный проект в общедоступном репозитории github, прямо здесь: https://github.com/rpuls/dashboardwrapper вы можете увидеть, какие файлы iOSгенерируется реагирующим клиентом, перейдя в / iOS , надеюсь, кто-то может приблизить меня к тому, у кого из них отсутствует конфигурация.

Я считаю, что мне удалось также сделать публичный конвейер сборки bitrise: https://app.bitrise.io/app/0147b9ccaf0fedf6#/builds здесь доступны полные журналы сборки

1 Ответ

1 голос
/ 03 апреля 2019

Таким образом, получается, что у Xcode есть две разные опции Team ID, когда вы делаете Xcode Archive + Export (что делает шаг bitrise Xcode Archive, он выполняет архивирование, а затем экспорт для генерации IPA, то же самое, что вы делаете в Xcode.app, сначала вы создаете архив, в котором открывается органайзер, из которого вы выполняете экспорт для генерации .ipa).

В шаге Archive Bitrise XCode есть две опции:

На основании вашего журнала сборки (https://app.bitrise.io/build/d66af72575da8e81) вы устанавливаете только Team ID, но не параметр Force Team ID. Если вы установите оба, это должно работать.

При этом обычно лучше установить Team (ID) непосредственно в проекте Xcode, если вы сохраните его в своем хранилище, так как любой инструмент, работающий с проектом Xcode, будет работать без какого-либо специального параметра.

Для этого вы просто открываете проект Xcode или файл рабочей области (в вашем репо с открытым исходным кодом это будет файл проекта xcode https://github.com/rpuls/dashboardwrapper/tree/master/ios/dashboardwrapper.xcodeproj), а в Xcode.app вы задаете команду в настройках проекта следующим образом:

enter image description here

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

При такой настройке все инструменты должны работать "из коробки", например https://github.com/bitrise-io/codesigndoc, который запрашивается в пользовательском интерфейсе bitrise.io, инструменте, который мы рекомендуем для автоматического сбора всех необходимых файлов подписи кода для проекта (на основе проекта Xcode).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...