Почему React (отсутствует) в списке целей построения схемы xcode? - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь запустить свое первое приложение React-Native на устройстве ios с помощью xcode и продолжаю получать эту ошибку:

ld: warning: directory not found for option '-L/Users/XXXX/Library/Developer/Xcode/DerivedData/nigh-hktjvygosupgnoaafsvgyowhzsqi/Build/Products/Debug-iphoneos/React'

ld: library not found for -lReact
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я предполагаю, что причина связана с тем, что Reactотсутствует в списке целей сборки моей схемы. React является первым в списке со всеми отмеченными флажками, но он говорит React (отсутствует) вместо простого React:

Снимок экрана со списком целей сборки

Если я нажмукнопка «+» React не является опцией. Вот мой подфайл:

platform :ios, '10.0'

require_relative '../node_modules/react-native-unimodules/cocoapods'

target 'nigh' do
  # Pods for nigh
  pod 'React', :path => '../node_modules/react-native', :subspecs => [
    'Core',
    'CxxBridge',
    'DevSupport',
    'RCTActionSheet',
    'RCTAnimation',
    'RCTBlob',
    'RCTGeolocation',
    'RCTImage',
    'RCTLinkingIOS',
    'RCTNetwork',
    'RCTSettings',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
  ]

  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
  pod 'RNGestureHandler', :podspec => '../node_modules/react-native-gesture-handler/RNGestureHandler.podspec'
  pod 'RNReanimated', :podspec => '../node_modules/react-native-reanimated/RNReanimated.podspec'
  pod 'react-native-google-maps', path: '../node_modules/react-native-maps'  # Uncomment this line if you want to support GoogleMaps on iOS
  pod 'GoogleMaps'  # Uncomment this line if you want to support GoogleMaps on iOS
  pod 'Google-Maps-iOS-Utils' # Uncomment this line if you want to support GoogleMaps on iOS

  use_unimodules!


  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

  pod 'react-native-maps', :path => '../node_modules/react-native-maps'

  pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'

  pod 'react-native-slider', :path => '../node_modules/@react-native-community/slider'

  pod 'react-native-notifications', :path => '../node_modules/react-native-notifications'

  pod 'react-native-cameraroll', :path => '../node_modules/@react-native-community/cameraroll'

  pod 'react-native-image-picker', :path => '../node_modules/react-native-image-picker'

  pod 'RNFS', :path => '../node_modules/react-native-fs'

end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'react-native-google-maps'
      target.build_configurations.each do |config|
        config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
      end
    end
    if target.name == "React"
      target.remove_from_project
    end
  end
end

Я попытался удалить блок if target.name == "React" и все еще получаю ту же ошибку. Я также открываю xcode из .xcworkspace вместо .xcodeproject, так как я использую cocoapods. Я попытался удалить все из папки DerivedData и очистить сборку, а также попытался собрать с использованием Legacy Build System. Система Legacy Build отображает предупреждения почти для каждой библиотеки, в которых указано «Отсутствует цель зависимости« Реагировать »».

Мне нужно было изменить имя моего пакета с org.reactjs.native.example.nigh на org.reactjs.native.name.nigh, так что это может быть ответственно? Я знаю, что в какой-то момент React не пропал в списке целей. Несмотря на отсутствие React, приложение по-прежнему нормально работает на эмуляторе xcode iphone.

Кроме того, в файле Pods / Products libReact.a отсутствует значок, как в других файлах .a * 1019. *

Может кто-нибудь сказать мне, почему это происходит и / или как исправить / обойти это?

...