Я следил за этим сообщением в блоге https://blog.nativescript.org/ios-on-windows/, чтобы создать приложение NativeScript для iOS, хотя у меня нет доступа к компьютеру с macOS.
После этого сообщения в блоге я создал свои сертификаты с помощью OpenSSL 1.1.1 на своем ПК с Windows 10, зарегистрировал свой iPhone под своей учетной записью разработчика Apple, а затем создал конвейер в Azure со следующей конфигурацией (мне пришлось внести некоторые незначительные изменения). к тому, что показано в сообщении блога):
триггер: - основной имя: '1.1.$(DayOfYear)$(rev:rr)' переменные: - группа: MyiOSVars вакансии: - должность: BuildApple бассейн: vmImage: последняя версия macOS шаги: - касса: самостоятельная чистый: правда путь: «Мое приложение» - задача: NodeTool@0 входы: Спецификация версии: '14.x' - сценарий: | пункт установить шесть pip3 установить шесть displayName: 'Установить шесть' - сценарий: | npm я -g собственный скрипт displayName: 'Установить собственный скрипт' - сценарий: | НПМ --версия узел --версия рубин --версия запрос драгоценного камня --local эхо ************************************** пип --версия pip3 --версия пип-шоу шестое pip3 показать шесть displayName: 'Показать версию NPM' - задача: УстановитьAppleCertificate@2 displayName: 'Установить сертификат Apple' входы: certSecureFile: '$(apple_cert_secure_file_id)' certPwd: '$(p12password)' - задача: InstallAppleProvisioningProfile@1 displayName: 'Установить профиль обеспечения Apple' входы: provProfileSecureFile: '$(apple_provisioning_profile_file_id)' - сценарий: | нс --версия --json displayName: 'Показать версию собственного сценария' - сценарий: | нс доктор # ns build ios --team-id # ns build ios --provision displayName: 'Запустить ns Doctor' - сценарий: | ns build ios --for-device displayName: 'Запустить сборку NativeScript для iOS' - задача: CopyFiles@2 displayName: 'Копировать файлы в: $(build.artifactstagingdirectory)' входы: SourceFolder: '$(system.defaultworkingdirectory)' Содержание: | **/*.ipa TargetFolder: '$(build.artifactstagingdirectory)' FlattenFolders: правда saveTimestamp: правда - задача: PublishBuildArtifacts@1 displayName: 'Опубликовать артефакт: drop' входы: PathtoPublish: '$(build.artifactstagingdirectory)' Как видите, я использовал ns build ios --team-id и ns build ios --provision, чтобы проверить, распознаются ли мои сертификаты NativeScript. Интерфейс командной строки. Вывод этих команд следующий (я заменил фактические значения заполнителями
┌────────────────────┬────────────┐ │ Название команды │ Идентификатор команды │ │ «ИМЯ МОЕЙ КОМАНДЫ» │ 123456789 │ └─────────────────────┴─────────────┘ Укажите идентификатор или название команды с помощью параметра --teamId. Ищем устройства... ┌──────────────────────────────────────────┬────── ─────────────┬─────────────┬─────────┐ │ Название положения/UUID положения/идентификатор приложения │ Команда │ Тип/Срок выполнения │ Устройства │ │ │ │ │ │ │ «MyApp на iPhone Джона» │ НАЗВАНИЕ МОЕЙ КОМАНДЫ │ Разработка │ Всего 1 │ │ 12345-12345-12345-12345 │ (123456789) │ 6 сен 2024 │ │ │ 123456789.com.myapp │ │ │ │ └──────────────────────────────────────────┴────── ─────────────┴─────────────┴─────────┘ Также имеется 0 неприемлемых профилей обеспечения. Укажите uuid или имя профиля обеспечения с опцией --provision. По моему мнению, мои сертификаты успешно установлены.
Однако команда ns build ios --for-device завершается с ошибкой со следующими сообщениями
Строительный проект... Xcode требует, чтобы при сборке устройства был указан идентификатор команды. Вы можете указать идентификатор команды, задав параметр DEVELOPMENT_TEAM в файле build.xcconfig, расположенном в папке App_Resources вашего приложения, или используя параметр --teamId при вызове команд запуска, отладки или livesync. Найдена и используется следующая команда разработчиков, установленная в вашей системе: ИМЯ МОЕЙ КОМАНДЫ (123456789) Ищем устройства... Сборка Xcode... примечание: построение целей в порядке зависимости /Users/runner/work/1/MyApp/platforms/ios/MyApp.xcodeproj: ошибка: в Xcode не зарегистрировано ни одной учетной записи. Добавьте свою учетную запись разработчика в Xcode (в целевой «MyApp» из проекта «MyApp») /Users/runner/work/1/MyApp/platforms/ios/MyApp.xcodeproj: ошибка: профили для «com.myapp» не найдены: Xcode не смог найти ни одного профиля обеспечения разработки приложений для iOS, соответствующего «com.myapp». (в цели «MyApp» из проекта «MyApp») Примечание. Фаза запуска сценария «NativeScript PreBuild» будет запускаться во время каждой сборки, поскольку опция запуска этапа сценария «На основе анализа зависимостей» не отмечена. (в цели «MyApp» из проекта «MyApp») Примечание. Запустить этап сборки сценария «NativeScript PreLink» будет выполняться во время каждой сборки, поскольку опция запуска этапа сценария «На основе анализа зависимостей» не отмечена. (в цели «MyApp» из проекта «MyApp») Примечание. Фаза запуска сценария «NativeScript PostBuild» будет запускаться во время каждой сборки, поскольку опция запуска этапа сценария «На основе анализа зависимостей» не отмечена. (в цели «MyApp» из проекта «MyApp») /Users/runner/work/1/MyApp/platforms/ios/Pods/Pods.xcodeproj: предупреждение: для цели развертывания iOS «IPHONEOS_DEPLOYMENT_TARGET» установлено значение 8.0, но диапазон поддерживаемых целевых версий развертывания составляет от 11.0 до 16.2.99. (в цели «SAMKeychain» из проекта «Pods») /Users/runner/work/1/MyApp/platforms/ios/Pods/Pods.xcodeproj: предупреждение: для цели развертывания iOS «IPHONEOS_DEPLOYMENT_TARGET» установлено значение 8.0, но диапазон поддерживаемых целевых версий развертывания составляет от 11.0 до 16.2.99. (в цели «MNFloatingActionButton» из проекта «Pods») /Users/runner/work/1/MyApp/platforms/ios/Pods/Pods.xcodeproj: предупреждение: для цели развертывания iOS «IPHONEOS_DEPLOYMENT_TARGET» установлено значение 8.0, но диапазон поддерживаемых целевых версий развертывания составляет от 11.0 до 16.2.99. (в цели «MNFloatingActionButton-MNFloatingActionButton» из проекта «Pods») /Users/runner/work/1/MyApp/platforms/ios/Pods/Pods.xcodeproj: предупреждение: для цели развертывания iOS «IPHONEOS_DEPLOYMENT_TARGET» установлено значение 8.0, но диапазон поддерживаемых целевых версий развертывания составляет от 11.0 до 16.2.99. (в цели «QBImagePickerController» из проекта «Pods») /Users/runner/work/1/MyApp/platforms/ios/Pods/Pods.xcodeproj: предупреждение: для цели развертывания iOS «IPHONEOS_DEPLOYMENT_TARGET» установлено значение 8.0, но диапазон поддерживаемых целевых версий развертывания составляет от 11.0 до 16.2.99. (в цели «TOCropViewController» из проекта «Pods») /Users/runner/work/1/MyApp/platforms/ios/Pods/Pods.xcodeproj: предупреждение: для цели развертывания iOS «IPHONEOS_DEPLOYMENT_TARGET» установлено значение 8.0, но диапазон поддерживаемых целевых версий развертывания составляет от 11.0 до 16.2.99. (в цели «QBImagePickerController-QBImagePicker» из проекта «Pods») /Users/runner/work/1/MyApp/platforms/ios/Pods/Pods.xcodeproj: предупреждение: для цели развертывания iOS «IPHONEOS_DEPLOYMENT_TARGET» установлено значение 8.0, но диапазон поддерживаемых целевых версий развертывания составляет от 11.0 до 16.2.99. (в цели «TOCropViewController-TOCropViewControllerBundle» из проекта «Pods») ** ОШИБКА АРХИВИРОВАНИЯ ** Команда xcodebuild завершилась неудачно с кодом завершения 65 ##[ошибка]Bash завершился с кодом «127». Итак, сначала эта команда жалуется на отсутствие команды, но затем кажется, что она правильно использует команду моего установленного сертификата разработчика. Однако несколько шагов спустя xcode завершается с ошибкой, поскольку не указаны ни учетная запись разработчика, ни профили обеспечения, хотя интерфейс командной строки NativeScript показывает, что они установлены.
Что мне не хватает?