【问题标题】:ld: 16 duplicate symbols for architecture x86_64 in react native & iOS developmentld:react native 和 iOS 开发中架构 x86_64 的 16 个重复符号
【发布时间】:2020-12-01 08:52:35
【问题描述】:

我正在尝试构建一个简单的反应原生应用程序来突出显示文本。最初我在世博会中制作并退出并尝试集成https://github.com/Astrocoders/react-native-selectable-text库。

按照 Astrocoder 的说明进行集成后,出现以下错误。我最困惑的是冲突(RNSelectableTextView.o 和 Manager.o)似乎发生在同一个库中,而不是像其他示例那样不同的库,它们应该相互构建......

duplicate symbol '_OBJC_IVAR_$_RNSelectableTextManager._onHighlightPress' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextManager.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextManager.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextManager._menuItems' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextManager.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextManager.o)
duplicate symbol '_OBJC_CLASS_$_RNSelectableTextManager' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextManager.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextManager.o)
duplicate symbol '_OBJC_METACLASS_$_RNSelectableTextManager' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextManager.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextManager.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextManager._onSelection' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextManager.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextManager.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextManager._value' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextManager.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextManager.o)
duplicate symbol '_OBJC_CLASS_$_RNSelectableTextView' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_OBJC_METACLASS_$_RNSelectableTextView' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextView._backedTextInputView' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_selectionStart' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextView._onHighlightPress' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextView._menuItems' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextView._onSelection' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_beginning' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_OBJC_IVAR_$_RNSelectableTextView._value' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
duplicate symbol '_CUSTOM_SELECTOR' in:
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/RNSelectableText/libRNSelectableText.a(RNSelectableTextView.o)
    /Users/sanghapark/Library/Developer/Xcode/DerivedData/trialv1-fheptlkmdwwaaecmpyvoheysshnb/Build/Products/Debug-iphonesimulator/react-native-selectable-text/libreact-native-selectable-text.a(RNSelectableTextView.o)
ld: 16 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

warning: no rule to process file '/Users/sanghapark/Documents/trial_v2/client/ios/Pods/Flipper-RSocket/rsocket/README.md' of type 'net.daringfireball.markdown' for architecture 'x86_64' (in target 'Flipper-RSocket' from project 'Pods')
warning: no rule to process file '/Users/sanghapark/Documents/trial_v2/client/ios/Pods/Flipper-RSocket/rsocket/benchmarks/CMakeLists.txt' of type 'text' for architecture 'x86_64' (in target 'Flipper-RSocket' from project 'Pods')
warning: no rule to process file '/Users/sanghapark/Documents/trial_v2/client/ios/Pods/Flipper-RSocket/rsocket/benchmarks/README.md' of type 'net.daringfireball.markdown' for architecture 'x86_64' (in target 'Flipper-RSocket' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 8.0 to 13.6.99. (in target 'RNSelectableText' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 6.0, but the range of supported deployment target versions is 8.0 to 13.6.99. (in target 'OpenSSL-Universal' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 5.0, but the range of supported deployment target versions is 8.0 to 13.6.99. (in target 'CocoaAsyncSocket' from project 'Pods')

** BUILD FAILED **

关于如何解决这个问题有什么建议吗?任何帮助将非常感激。谢谢! 下面是我的 react native 信息和 pod 文件供参考。

System:
    OS: macOS 10.15.3
    CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
    Memory: 18.89 MB / 8.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 12.18.3 - /usr/local/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.14.7 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 13.6, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 4.0 AI-193.6911.18.40.6514223
    Xcode: 11.6/11E708 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.8 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: ~16.11.0 => 16.11.0 
    react-native: ^0.62.2 => 0.62.2 
  npmGlobalPackages:
    *react-native*: Not Found
platform :ios, '10.0'
require_relative '../node_modules/react-native-unimodules/cocoapods.rb'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

def add_flipper_pods!(versions = {})
  versions['Flipper'] ||= '~> 0.33.1'
  versions['DoubleConversion'] ||= '1.1.7'
  versions['Flipper-Folly'] ||= '~> 2.1'
  versions['Flipper-Glog'] ||= '0.3.6'
  versions['Flipper-PeerTalk'] ||= '~> 0.0.4'
  versions['Flipper-RSocket'] ||= '~> 1.0'

  pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug'

  # List all transitive dependencies for FlipperKit pods
  # to avoid them being linked in Release builds
  pod 'Flipper', versions['Flipper'], :configuration => 'Debug'
  pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug'
  pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug'
  pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug'
  pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug'
  pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug'
  pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug'
  pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
end

# Post Install processing for Flipper
def flipper_post_install(installer)
  installer.pods_project.targets.each do |target|
    if target.name == 'YogaKit'
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '4.1'
      end
    end
  end
end

target 'trialv1' do
  # Pods for trialv1
  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/'
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true

  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 'RNSelectableText', :path => '../node_modules/@astrocoders/react-native-selectable-text/ios/RNSelectableText.podspec'

  use_unimodules!
  use_native_modules!

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable these next few lines.
  add_flipper_pods!
  post_install do |installer|
    flipper_post_install(installer)
  end
end

【问题讨论】:

    标签: ios reactjs react-native cocoapods expo


    【解决方案1】:

    我已经弄明白了。遵循https://reactnative.dev/docs/linking-libraries-ios 指令。

    1. npm install [库]
    2. npx 反应原生链接

    好走!无需手动复制粘贴到 Pod 文件中。

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 2021-10-14
      • 2018-01-20
      • 2015-10-18
      • 2015-12-08
      • 2021-10-04
      • 2018-09-15
      • 1970-01-01
      • 2015-01-22
      相关资源
      最近更新 更多