DataDog / dd-sdk-reactnative

Datadog SDK for ReactNative
Apache License 2.0
114 stars 41 forks source link

Error when pod install #56

Closed Jekiwijaya closed 3 years ago

Jekiwijaya commented 3 years ago

Hello, please help, I'm getting error when running pod install in my project

Describe what happened Getting error when run pod install

Steps to reproduce the issue:

Describe what you expected:

[!] The following Swift pods cannot yet be integrated as static libraries:

The Swift pod `dd-sdk-reactnative` depends upon `React-Core`, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.

Additional context

0xnm commented 3 years ago

Hello @Jekiwijaya! Can you please also share your podfile (at least relevant part of it) and the version of XCode used?

jhbarnett commented 3 years ago

Encountered this issue as well with "^1.0.0-beta1". Xcode 12.5, package.json and podfile below.

{
  "name": "fitrankings-native",
  "version": "2.4.0",
  "private": true,
  "scripts": {...},
  "dependencies": {
    "@fitrankings/common": "^1.0.0",
    "@react-native-community/async-storage": "^1.11.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/native": "^5.1.5",
    "@sentry/react-native": "^2.1.0",
    "base-64": "^1.0.0",
    "dd-sdk-reactnative": "^1.0.0-beta1",
    "i18n-js": "^3.0.11",
    "lodash-es": "^4.17.15",
    "lodash.throttle": "4.1.1",
    "mobx": "^4.15.4",
    "mobx-react-lite": "^1.4.1",
    "mobx-state-tree": "^3.14.1",
    "pako": "^2.0.3",
    "ramda": "0.27.1",
    "react": "16.13.1",
    "react-native": "0.63.2",
    "react-native-gesture-handler": "^1.5.0",
    "react-native-health": "^1.7.1",
    "react-native-keychain": "6.1.1",
    "react-native-localize": "^1.0.0",
    "react-native-paper": "^4.4.1",
    "react-native-safe-area-context": "0.7.3",
    "react-native-safe-area-view": "1.1.1",
    "react-native-screens": "^2.10.1",
    "react-native-splash-screen": "3.2.0",
    "react-native-vector-icons": "^7.1.0",
    "react-native-webview": "^11.0.2",
    "reactotron-mst": "^3.1.1",
    "reactotron-react-native": "^5.0.0",
    "utf8": "^3.0.0",
    "validate.js": "0.13.1"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/plugin-proposal-decorators": "^7.0.0",
    "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
    "@babel/runtime": "^7.12.5",
    "@bam.tech/react-native-make": "^3.0.0",
    "@storybook/addon-storyshots": "5.3.19",
    "@storybook/react-native": "5.3.19",
    "@storybook/react-native-server": "5.3.19",
    "@types/i18n-js": "^3.0.3",
    "@types/jest": "^25.2.3",
    "@types/ramda": "0.26.44",
    "@types/react": "16.9.23",
    "@types/react-native": "^0.63.2",
    "@types/react-test-renderer": "^16.9.2",
    "@typescript-eslint/eslint-plugin": "^2.27.0",
    "@typescript-eslint/parser": "^2.27.0",
    "babel-jest": "^26.6.3",
    "eslint": "^6.8.0",
    "eslint-config-prettier": "^6.0.0",
    "eslint-config-standard": "^14.1.0",
    "eslint-plugin-import": "^2.15.0",
    "eslint-plugin-node": "^11.0.0",
    "eslint-plugin-promise": "^4.0.1",
    "eslint-plugin-react": "^7.12.4",
    "eslint-plugin-react-hooks": "^4.1.0",
    "eslint-plugin-react-native": "^3.6.0",
    "eslint-plugin-standard": "^4.0.0",
    "ignite-bowser": "^5.4.1",
    "jest": "25.5.4",
    "jetifier": "^1.6.2",
    "metro-react-native-babel-preset": "^0.64.0",
    "npm-run-all": "4.1.5",
    "patch-package": "6.2.2",
    "postinstall-prepare": "1.0.1",
    "prettier": "^2.0.4",
    "react-devtools-core": "4.8.2",
    "react-powerplug": "1.0.0",
    "react-test-renderer": "16.13.1",
    "rimraf": "3.0.2",
    "solidarity": "3.0.0",
    "typescript": "3.9.7"
  },
  "workspaces": {
    "nohoist": [
      "ignite-bowser",
      "react-native",
      "react-native/**",
      "jest-expo",
      "jest-expo/**",
      "react-native-*",
      "@react-native-*",
      "@react-native-*/**",
      "@react-navigation",
      "@react-navigation/**",
      "rn-*",
      "mobx-react-lite",
      "@bam.tech/react-native-make",
      "@sentry/react-native",
      "@sentry/react-native/**",
      "dd-sdk-reactnative"
    ]
  }, ...}
require_relative "../node_modules/@react-native-community/cli-platform-ios/native_modules"
require_relative "../node_modules/react-native/scripts/react_native_pods"

platform :ios, '11.0'

target 'FitRankings' do
  config = use_native_modules!

  use_react_native!(:path => config["reactNativePath"])

  target 'FitRankingsTests' do
    inherit! :complete
    # Pods for testing
  end

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable these next few lines.
  use_flipper!({ 'Flipper-Folly' => '2.5.3', 'Flipper' => '0.87.0', 'Flipper-RSocket' => '1.3.1' })
  post_install do |installer|
    flipper_post_install(installer)
  end
end
buranmert commented 3 years ago

hi @Jekiwijaya and @jhbarnett đź‘‹ i see react-native: 0.63.2 in your package.json files v0.63.2 is the last version that doesn't set DEFINES_MODULE = YES, starting from v0.63.3 this flag is being set and your problem disappears.

can you please update your react-native: 0.63.4 (0.63.3 should work as well) in your package.json and try again?

jhbarnett commented 3 years ago

Hey @buranmert, thanks for the help. I do appear to be past this issue and on to this one now.

buranmert commented 3 years ago

for the records: we also found another solution without upgrading to v0.63.3+

// in your Podfile
use_frameworks!
...
pod 'React-Core', :modular_headers => true
  1. pod install fails with the error in this issue without :modular_headers => true
  2. linking fails due to undefined symbols without use_frameworks!

please note that upgrading your react native version is still the best solution