React Native 0.57 + CocoaPods - Не удается найти связанные библиотеки только в среде CI - PullRequest
0 голосов
/ 31 октября 2018

Сейчас я бью кирпичную стену, пытаясь заставить мое приложение встроиться в VS AppCenter. Это реактивный проект с некоторыми зависимостями, внесенными через cocoapods.

Все строится локально нормально (чистый клон на чистой виртуальной машине)

В среде CI в AppCenter я получаю следующие ошибки:

ld: warning: directory not found for option '-L/Users/vsts/Library/Developer/Xcode/DerivedData/projectname-adroxiklvgljuicvfqowylcdxjrt/Build/Intermediates.noindex/ArchiveIntermediates/unisafe/BuildProductsPath/Release-iphoneos/BVLinearGradient' ld: library not found for -lGoogle-Maps-iOS-Utils clang: error: linker command failed with exit code 1 (use -v to see invocation) Archive Failed

Я получаю первое предупреждение несколько раз для каждого модуля.

Вот мой Подфайл

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
project './projectname.xcproj'
target 'projectname' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for projectname
  pod 'AppCenter/Push', '~> 1.10.0'
  pod 'AppCenter/Crashes', '~> 1.10.0'
  pod 'AppCenter/Analytics', '~> 1.10.0'
  pod 'AppCenterReactNativeShared'
  rn_path = '../node_modules/react-native'
  rn_maps_path = '../node_modules/react-native-maps'

  pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec"
  pod 'React', path: rn_path, subspecs: [
    'ART',
    'Core',
    'RCTActionSheet',
    'RCTAnimation',
    'RCTGeolocation',
    'RCTImage',
    'RCTLinkingIOS',
    'RCTNetwork',
    'RCTSettings',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
  ]

  pod 'react-native-maps', path: rn_maps_path
  pod 'react-native-google-maps', path: rn_maps_path  # Remove this line if you don't want to support Google Maps on iOS
  pod 'GoogleMaps'  # Remove this line if you don't want to support Google Maps on iOS
  pod 'Google-Maps-iOS-Utils' # Remove this line if you don't want to support GoogleMaps on iOS

  pod 'BVLinearGradient', :path => '../node_modules/react-native-linear-gradient'
  pod 'react-native-background-timer', :path => '../node_modules/react-native-background-timer'
  pod 'ReactNativePermissions', :path => '../node_modules/react-native-permissions'
  pod 'lottie-ios', :path => '../node_modules/lottie-ios'
  pod 'lottie-react-native', :path => '../node_modules/lottie-react-native'
  pod 'TouchID', :path => '../node_modules/react-native-touch-id'
  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

  platform :ios, '11.0'
  # target 'projectnameTests' do
  #   inherit! :search_paths
  #   # Pods for testing
  # end

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

В моей библиотеке есть пути поиска:

$(inherited)
$(BUILD_DIR)/${CONFIGURATION}$(EFFECTIVE_PLATFORM_NAME)
"${PODS_ROOT}"

Любые идеи будут с благодарностью. Благодаря.

1 Ответ

0 голосов
/ 02 ноября 2018

Не идеальное решение ... но решили эту проблему, удалив и повторно добавив все в «Связанные фреймворки и библиотеки» в настройках сборки XCode.

Я закрою это, но если у кого-то еще есть эта проблема, ответьте здесь или PM - рад помочь.

...