Warum ist React (fehlt) in der Liste der Xcode-Schema-Build-Ziele?


8

Ich versuche, meine erste React-Native-App mit xcode auf einem iOS-Gerät auszuführen und erhalte weiterhin die folgende Fehlermeldung:

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)

Ich gehe davon aus, dass die Ursache mit der Tatsache zusammenhängt, dass React in der Liste der Build-Ziele meines Schemas fehlt. React steht an erster Stelle auf der Liste, wobei alle Kontrollkästchen aktiviert sind. Es heißt jedoch React (fehlt) anstatt nur React:

Screenshot der Liste der Build-Ziele

Wenn ich auf die Schaltfläche '+' klicke, ist Reagieren keine Option. Hier ist meine Poddatei:

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

Ich habe versucht, den Block if target.name == "React" zu entfernen und erhalte immer noch den gleichen Fehler. Ich öffne auch xcode aus .xcworkspace anstelle von .xcodeproject, da ich Cocoapods verwende. Ich habe versucht, alles aus dem DerivedData-Ordner zu entfernen und den Build zu bereinigen. Außerdem habe ich versucht, mit dem Legacy Build System zu erstellen. Das Legacy Build-System zeigt in fast jeder Bibliothek Warnungen mit der Aufschrift "Fehlendes Abhängigkeitsziel 'Reagieren'" an.

Ich musste meinen Bundle-Namen von org.reactjs.native.example.nigh in org.reactjs.native.name.nigh ändern. Könnte das also verantwortlich sein? Ich weiß, dass React irgendwann nicht mehr in der Zielliste fehlte. Obwohl React fehlt, läuft die App auf dem xcode iphone Emulator immer noch einwandfrei.

Auch in der Pods / Products-Datei hat libReact.a kein Symbol wie die anderen .a-Dateien

Kann mir jemand sagen, warum dies geschieht und / oder wie man es behebt / umgeht?


Wenn Sie das neueste React Native verwenden, sollte Podfile nicht so aussehen. Siehe Update-Helfer .
Ziyo

Ich benutze 0.59.10. Gibt es keine Möglichkeit, das Projekt mit dieser Version auf einem Gerät auszuführen, oder muss ich alle meine Dateien aktualisieren und ändern?
Ben d'Straw

Mein Produkt -> Bearbeitungsschema wird als React Missing angezeigt. Irgendeine Lösung dafür?
25.

Ich denke, das Problem hing wirklich mit der Verwendung von Expo zusammen, da Expo nicht die neueste Version von React Native zu verwenden scheint (danke @Ziyo). Es erfordert auf lange Sicht auch mehr Fummelei und es fehlen einige native Funktionen. Wenn das, was ich baue, in Zukunft nicht schön und leicht ist, werde ich die Expo meiden. Am Ende habe ich ein neues Projekt mit reaktionsfreudigem Cli erstellt und alles läuft wie am Schnürchen. Für diejenigen, die meine Lösung ausprobieren möchten und Sans Expo neu starten möchten, wählen Sie React Native Cli Quickstart unter [ facebook.github.io/react-native/docs/getting-started]
Ben d'Straw

Ich erhalte diesen Fehler und meine Poddatei ist die aktualisierte.
Pianoman102

Antworten:


-3

Ich habe dieses Problem behoben, indem ich auf Systemeinstellungen -> Sicherheit und Datenschutz gegangen bin. Unter der Registerkarte Datenschutz erlaubte ich Xcode, auf meine Dateien und Ordner zuzugreifen.

Was tatsächlich geschah, war, dass ich mein Betriebssystem auf Catalina aktualisiert habe. Irgendwie wird Xcode der Zugriff auf Dateien und Ordner nicht gewährt, daher kann xcode die Datei nicht lesen, sodass dieses Problem auftritt.

Einstellungsbereich für Sicherheit und Datenschutz

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.