Проблемы с объединением приложения React Native для iOS с использованием CocoaPods

#javascript #node.js #express #google-cloud-platform

#javascript #node.js #экспресс #google-облачная платформа

Вопрос:

Я создаю приложение, используя https://github.com/invertase/react-native-firebase и было предложено лучший способ установки — через CocoaPods, однако я получаю 10000 проблем, одну за другой, когда я пытаюсь заархивировать свое приложение.

Мне интересно, какова наилучшая практика при использовании React Native и Cocoapods, и как все импортируется / загружается, и действительно ли CocoaPods влияет на мое приложение.

В конце концов я добрался до этого шага, и он выполняется в симуляторе, однако я не уверен, нужны ли мне все мои ссылки на разные модули в моем, даже если я мог бы установить их через npm install .

Я был бы очень признателен за любые советы, поскольку мне хочется отказаться от CocoaPods всех вместе и попытаться установить с нуля.

 # Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

target 'myApp' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for myApp
  pod 'Firebase/Core'
  pod 'Firebase/Auth'

  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'

  # Add yoga.
  # https://github.com/facebook/react-native/issues/13046#issuecomment-350523190
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  # Set React to be from node_modules.
  pod 'React', :path => '../node_modules/react-native'
  pod 'React', :path => '../node_modules/react-native', :subspecs => [
    'Core',
    'DevSupport',
    'CxxBridge',
    'RCTNetwork',
  ]

  target 'myApp-tvOSTests' do
    inherit! :search_paths
    # Pods for testing
    # pod 'react-native-video', :path => '../node_modules/react-native-video'

    pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

    pod 'SentryReactNative', :path => '../node_modules/react-native-sentry'

    pod 'react-native-in-app-utils', :path => '../node_modules/react-native-in-app-utils'

    pod 'react-native-camera', :path => '../node_modules/react-native-camera'

    pod 'RNIap', :path => '../node_modules/react-native-iap'

    # pod 'RNShare', :path => '../node_modules/react-native-share'

    pod 'rn-fetch-blob', :path => '../node_modules/rn-fetch-blob'

  end

  target 'myApp' do
    inherit! :search_paths
    # Pods for testing
  end

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == "React"
        target.remove_from_project
      end
    end
  end

end

  

Комментарии:

1. Сам документ не рекомендует использовать Cocoapod для React Native Firebase. Здорово, что вы переключились с этого. Пожалуйста, опубликуйте любую конкретную проблему, с которой вы столкнулись.

2. @Vishu RNFirebase заявляет, что Firebase предлагает использовать CocoaPods для установки Firebase. rnfirebase.io/docs/v5.x.x/installation /…

3. Совершенно верно, @Karl, но в то же время он не рекомендует использовать CocoaPods для RNFirebase.

4. @Vishu Я не понимаю, о чем вы говорите. Документы четко рекомендуют в разделе 1.3 rnfirebase.io/docs/v5.x.x/installation/… для использования варианта 1: Cocoapods (рекомендуется). Пожалуйста, воздержитесь от публикации неверной и бесполезной информации.

5. на той же странице, если вы посмотрите вниз на ‘2. Раздел «Рекомендуемая установка React Native Firebase» явно не рекомендует использовать CocoaPods для RNFirebase.

Ответ №1:

Ответ — это громкое да. CocoaPods действительно вызывает проблемы с приложением React Native.

После закомментирования большинства других модулей. Мое приложение с первой попытки собрано нормально и загружено в App Store.

Мой совет. Не добавляйте материал в CocoaPods, если вам это не нужно.

 # Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

target 'myApp' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for myApp
  pod 'Firebase/Core'
  pod 'Firebase/Auth'

  # 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'

  # Add yoga.
  # https://github.com/facebook/react-native/issues/13046#issuecomment-350523190
  # pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  # # Set React to be from node_modules.
  # pod 'React', :path => '../node_modules/react-native', :subspecs => [
  #   'Core',
  #   'DevSupport',
  #   'CxxBridge',
  #   'RCTNetwork',
  # ]

  target 'myApp-tvOSTests' do
    inherit! :search_paths
    # Pods for testing
    # pod 'react-native-video', :path => '../node_modules/react-native-video'

    # pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

    # pod 'SentryReactNative', :path => '../node_modules/react-native-sentry'

    # pod 'react-native-in-app-utils', :path => '../node_modules/react-native-in-app-utils'

    # pod 'react-native-camera', :path => '../node_modules/react-native-camera'

    # pod 'RNIap', :path => '../node_modules/react-native-iap'

    # pod 'RNShare', :path => '../node_modules/react-native-share'

    # pod 'rn-fetch-blob', :path => '../node_modules/rn-fetch-blob'

  end

  target 'myApp' do
    inherit! :search_paths
    # Pods for testing
  end

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == "React"
        target.remove_from_project
      end
    end
  end

end