Azure devops React, ошибка встроенной сборки IOS в файле RCTAppDelegate.h

я получаю эту ошибку в своем конвейере DevOps для сборки IOS собственного приложения реагирования

Файл RCTAppDelegate.h не найден.

/Users/runner/work/1/s/ios/MyNewApp/AppDelegate.h:1:9: Файл RCTAppDelegate.h не найден

КомпилироватьC /Users/runner/Library/Developer/Xcode/DerivedData/MyNewApp-ajfktijvrkpgmscslwbprnszgveb/Build/Intermediates.noindex/MyNewApp.build/Release-iphonesimulator/MyNewApp.build/Objects-normal/x86_64/AppDelegate.o

/Users/runner/work/1/s/ios/MyNewApp/AppDelegate.mm обычный x86_64 Objective-C++ com.apple.compilers.llvm.clang.1_0.compiler (в целевом «MyNewApp» из проекта «MyNewApp») (1 сбой)

Кто-нибудь может мне помочь?

определение конвейера ниже:

trigger:
- Integration
variables:
- group: Mobile
pool:
  vmImage: macos-latest
steps:
- checkout: self
  persistCredentials: true
  clean: true
- task: NodeTool@0
  inputs:
    versionSpec: '20.x'
  displayName: 'Install Node.js'
- script: |
    yarn install
  displayName: 'yarn install and build'
- script: |
    yarn bundle:ios
  displayName: 'RN build'
- task: InstallAppleCertificate@2
  inputs:
    certSecureFile: 'DistCertfr2024.p12'
    certPwd: '$(AppleCertPassword)'
    keychain: 'temp'
    deleteCert: true
- task: InstallAppleProvisioningProfile@1
  inputs:
    provisioningProfileLocation: 'secureFiles'
    provProfileSecureFile: 'fr2024ProvisioningV1.mobileprovision'
    removeProfile: true
- script: |
    cd ios
    pod install
    xcodebuild -showsdks
  displayName: 'Install CocoaPods dependencies'
- task: Xcode@5
  inputs:
    actions: 'build'
    sdk: 'iphonesimulator' 
    scheme: 'MyNewApp'
    packageApp: true
    signingOption: 'manual'
    provisioningProfileName: 'fr2024ProvisioningV1'
    configuration: 'Release'
    xcWorkspacePath: 'ios/MyNewApp.xcodeproj'
    exportPath: 'output'
    destinationPlatformOption: default
- task: CopyFiles@2
  inputs:
    Contents: '**/*.ipa'
    TargetFolder: '$(build.ArtifactStagingDirectory)'
    OverWrite: true
    flattenFolders: true
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'ios'
    publishLocation: 'Container'

yarn bundle:ios скрипт переводится как:

"bundle:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/MyNewApp/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'"

Можете ли вы успешно построить проект на своем локальном компьютере? Какая версия Xcode на вашем локальном компьютере? Вам необходимо поделиться определением конвейера в вопросе. Это будет полезно для дальнейшего изучения вопроса.

Kevin Lu-MSFT 08.04.2024 05:29

Я проверил образец YAML, которым вы поделились. Можете ли вы подтвердить, существует ли проблема на этапе сборки Xcode. Если да, вы можете попробовать установить файл .xcworkspace вместо файла .xcodeproj в задаче Xcode -> поле xcWorkspacePath.

Kevin Lu-MSFT 09.04.2024 10:19

Да, Кевин, это помогло продвинуться дальше. Спасибо ! Теперь это проблема компоновщика с повторяющимися символами. Хотя названная проблема решена, я хотел бы продолжать добавлять другие последующие ошибки сборки, пытаясь решить эту проблему. Новая ошибка: ❌ ld: 4 повторяющихся символа для архитектуры x86_64. Буду добавлять подробности журнала в надежде почерпнуть здесь некоторые идеи.

zingh 09.04.2024 13:04

ОК, я вижу несколько ответов на проблему с повторяющимися символами на stackoverflow.com/questions/76171249/… попробую

zingh 09.04.2024 13:11

Спасибо за ваше обновление. Рад узнать, что это предложение может помочь вам. Для текущей проблемы в вопросе я добавил ответ, чтобы поделиться решением. Что касается последней проблемы: ld: 4 повторяющихся символа для архитектуры x86_64, вы можете попытаться исключить x86_64 в файле xcconfig (добавьте содержимое: EXCLUDED_ARCHS[sdk=iphonesimulator*] = x86_64). Вот билеты на аналогичный вопрос: stackoverflow.com/questions/69692735/… и stackoverflow.com/questions/39512823/…

Kevin Lu-MSFT 10.04.2024 03:54
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
1
5
215
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

/Users/runner/work/1/s/ios/MyNewApp/AppDelegate.h:1:9: файл RCTAppDelegate.h не найден

Чтобы решить эту проблему, нам нужно установить файл .xcworkspace вместо файла .xcodeproj в поле задачи Xcode -> xcWorkspacePath.

Например:

- task: Xcode@5
  inputs:
    actions: 'build'
    sdk: 'iphonesimulator' 
    scheme: 'MyNewApp'
    packageApp: true
    signingOption: 'manual'
    provisioningProfileName: 'fr2024ProvisioningV1'
    configuration: 'Release'
    xcWorkspacePath: 'ios/MyNewApp.xcworkspace'
    exportPath: 'output'
    destinationPlatformOption: default

Другие вопросы по теме