xcodeスキームのビルドターゲットリストにReact(missing)があるのはなぜですか?


8

Xcodeを使用してiOSデバイスで最初のReact-Nativeアプリを実行しようとしていますが、このエラーが発生し続けます。

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)

原因は、SchemeのビルドターゲットリストにReactが含まれていないことに関連していると思います。すべてのボックスがチェックされたリストの最初にReactが表示されますが、ReactだけではなくReact(missing)と表示されます。

ビルドターゲットリストのスクリーンショット

「+」ボタンをクリックすると、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"ブロックを削除しても、同じエラーが発生します。また、cocoapodsを使用しているため、.xcodeprojectではなく.xcworkspaceからxcodeを開いています。DerivedDataフォルダーからすべてを削除してビルドをクリーンアップしようとしました。また、レガシービルドシステムを使用してビルドしようとしました。Legacy Buildシステムは、「Missing dependency target 'React'」と書かれたほぼすべてのライブラリに警告を表示します。

バンドル名をorg.reactjs.native.example.nighからorg.reactjs.native.name.nighに変更する必要がありました。ある時点で、ターゲットリストにReactが欠けていなかったことを知っています。Reactが欠落しているにもかかわらず、xcode iPhoneエミュレーターでアプリは引き続き正常に動作します。

また、Pods / ProductsファイルのlibReact.aには、他の.aファイルのようなアイコンはありません。

なぜこれが起こっているのか、そして/またはそれを修正/回避する方法を誰かに教えてもらえますか?


最新のReact Nativeを使用している場合、Podfileはそのようにはなりません。更新ヘルパーを参照してください。
Ziyo、

私は0.59.10を使用しています。このバージョンを使用しているデバイスでプロジェクトを実行する方法はありませんか、またはすべてのファイルを更新および変更する必要がありますか?
Ben d'Straw

My Product-> EditスキームがReact Missingと表示されます。これに対する解決策はありますか?
2019年

Expoは最新バージョンのreactネイティブを使用していないようです(@Ziyoに感謝)。また、長期的にはもっといじくり回す必要があり、いくつかのネイティブ機能がありません。そのため、将来、私が構築しているものが素晴らしく軽量でない限り、Expoは避けます。私は、react native cliを使用して新しいプロジェクトを作成することになり、すべてが時計仕掛けのように実行されました。私のソリューションを試したい場合は、sans Expoを再起動し、[ facebook.github.io/react-native/docs/getting-started]で
Ben d'Straw

このエラーが発生し、私のpodfileは更新されたものです。
pianoman102

回答:


-3

この問題は、システム環境設定->セキュリティとプライバシーに移動して修正しました。[プライバシー]タブで、Xcodeにファイルとフォルダへのアクセスを許可しました。

実際に起こったことは、OSをCatalinaにアップグレードしたことです。どういうわけか、ファイルとフォルダへのアクセスはXcodeに許可されていないため、xcodeはファイルを読み取ることができないため、この問題が発生します。

セキュリティとプライバシーの設定ペイン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.