Неопределенные символы для архитектуры x86_64 — симулятор XCode

#xcode #ios-simulator

Вопрос:

Эта проблема возникла в одночасье, и, насколько мне известно, я ни к чему не прикасался. Всякий раз, когда я пытаюсь запустить «»react-native run-ios-симулятор» с помощью модулей, я получаю эту ошибку:

 Undefined symbols for architecture x86_64:
  "__swift_FORCE_LOAD_$_swiftDataDetection", referenced from:
      __swift_FORCE_LOAD_$_swiftDataDetection_$_YogaKit in libYogaKit.a(YGLayoutExtensions.o)
     (maybe you meant: __swift_FORCE_LOAD_$_swiftDataDetection_$_YogaKit)
  "__swift_FORCE_LOAD_$_swiftFileProvider", referenced from:
      __swift_FORCE_LOAD_$_swiftFileProvider_$_YogaKit in libYogaKit.a(YGLayoutExtensions.o)
     (maybe you meant: __swift_FORCE_LOAD_$_swiftFileProvider_$_YogaKit)
ld: symbol(s) not found for architecture x86_64
 

Моя консоль as распечатывает кучу вещей, похожих на это:

 /Users/me/Desktop/monorepo/client/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'RNImageCropPicker' from project 'Pods')
 

Есть какие-нибудь идеи о том, в чем причина проблемы? Я копался в нем несколько часов и так и не смог его решить. В настоящее время я использую Xcode 13.0 .

Ответ №1:

Эта проблема связана с проектом Pods в вашем рабочем пространстве. Каждый модуль, который вы устанавливаете, имеет другую версию набора, так как вы не указали DEPLOYMENT_TARGET.

Самый чистый способ сделать это-добавить приведенный ниже код в ваш файл подкачки какао.

   platform :ios, '11.0' # Update this to set a minimum iOS DEPLOYMENT_TARGET
  post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
      end
    end
  end