Как устранить ошибку «Файл Cordova / CDVPlugin.h не найден» (на этапе сборки Azure DevOps Xcode)? - PullRequest
0 голосов
/ 09 января 2019

Справка:

Автоматическое развертывание приложения Ionic в Apple App Store.

Среда:

Машина разработчика (Macbook) работает:

  • Узел 10.14.1
  • Кордова 8.1.1
  • Ионный 4.5.0
  • Xcode 10.1

Шаги сборки Azure DevOps:

  1. npm install
  2. ионная команда
  3. установить сертификат Apple (отключено)
  4. установить профиль обеспечения Apple (отключен)
  5. xcode build >> ошибка здесь, теперь исправлена ​​- см. Мой ответ ниже ..
  6. публиковать

YAML:

установка в минуту

steps:
- task: Npm@1
  displayName: 'npm install'
  inputs:
    verbose: false

ионная команда

variables:
  IonicVersion: '4.5.0'
  CordovaVersion: '8.1.1'
steps:
- task: ms-vsclient.cordova-extension.ioniccommandtask.IonicCommand@1
  displayName: 'Ionic Command cordova build ios'
  inputs:
    ionicCommand: 'cordova build ios'
    ionicArgs: '--prod --release -- --buildFlag=\"-UseModernBuildSystem=0\"'
    ionicVersion: '$(IonicVersion)'
    cordovaVersion: '$(CordovaVersion)'

xcode build

variables:
  scheme: ''
steps:
- task: Xcode@5
  displayName: 'Xcode build'
  inputs:
    xcWorkspacePath: '**/MyApp.xcodeproj'
    scheme: '$(scheme)'
    xcodeVersion: 10
    destinationPlatformOption: iOS
    destinationSimulators: 'iPhone 6'

публиковать

    steps:
    - task: ms-vsclient.app-store.app-store-release.AppStoreRelease@1
    displayName: 'Publish to the App Store TestFlight track'
    inputs:
        serviceEndpoint: 'ACTRA Apple Dev Program'
        ipaPath: '$(build.artifactstagingdirectory)/**/*.ipa'

Что работает ... Я могу создать и развернуть из своей среды разработки, с шагами:

  1. git clone my_app_repo
  2. Ионные Cordova build ios --prod --release - --buildFlag = \ "- UseModernBuildSystem = 0 \"
  3. открытые платформы / ios / MyApp.xcodeproj
  4. установить активную схему для общего устройства iOS
  5. выберите Legacy Build System через Файл> Настройки проекта ...
  6. снять и повторно проверить Автоматически управлять подписью
  7. выберите Apple Dev Team (профиль обеспечения - из раскрывающегося списка)
  8. сборка и развертывание через продукт> архив> распространять приложение

Вопрос / Проблема:

На этапе сборки канала Azure DevOps возникает следующая ошибка:

/ Пользователи / vsts / agent / 2.144.0 / work / 1 / s / platform / ios / MyApp / Плагины / ionic-plugin-deeplinks / IonicDeeplinkPlugin.h: 1: 9: файл 'Cordova / CDVPlugin.h' не найдено

Я удалил скрипт powershell после шага ionic cmd, чтобы проверить содержимое папки, и в папке существует файл CDVPlugin.h: /Users/vsts/agent/2.144.0/work/1/s/platforms/ ИОС / CordovaLib / Классы / Public

Может быть, вопрос касается разрешения путей внутри агента или xcode во время сборки. Кажется, xcode не может определить путь.

Обновление

10 января 2019 г. - изменена схема с '' на 'MyApp' для решения проблемы сборки и перехода к архиву.

Ссылки:

  1. Создание, тестирование и развертывание приложений Xcode в конвейерах Azure
  2. Задание Xcode
  3. Задача сборки Xcode

1 Ответ

0 голосов
/ 10 января 2019

Моя непосредственная проблема с неудачной сборкой была решена путем правильного задания переменной схемы «MyApp». Я буду продолжать обновлять этот вопрос (и мой ответ), работая над конечной целью - иметь работающую трубу сборки DevOps Azure, которая развертывает MyApp в Apple App Store в TestFlight. Выдающиеся вещи подписи, архивирования и развертывания.

Окончательная сборка (и архив) Xcode yaml:

variables:
    configuration: 'Release'
    scheme: 'MyApp'
steps:
    - task: Xcode@5
displayName: 'Xcode build archive'
inputs:
    actions: 'build archive'
    configuration: '$(configuration)'
    xcWorkspacePath: '**/MyApp.xcodeproj'
    scheme: '$(scheme)'
    xcodeVersion: 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...