React Native:ios - 找不到 -lbolts 的库

Dre*_*yST 3 xcode ios cocoapods react-native

  • 反应原生 0.57
  • 可可豆 1.5.3
  • Xcode 10.1

我已经在调试模式下构建它很好,但存档收到错误消息

图 1:错误

图 1:错误

我打开了 .xcworkspace 而不是 .xcodeproj。然后删除 Pods,Podfile.lock 重新安装 Pods 还是不行。

我尝试将链接二进制文件中的 libBolts 与库链接,但 Xcode 仍然要求其他库到 iPods-PorjectName。但它已经在 Link Binary With Libraries 中了。

播客文件

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

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

  rn_path = '../node_modules/react-native' # This path is likely to be `../node_modules/react-native` in your own project.

  # See http://facebook.github.io/react-native/docs/integration-with-existing-apps.html#configuring-cocoapods-dependencies
  pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec"
  pod 'React', path: rn_path, subspecs: [
    'Core',
    'DevSupport',
    'ART',
    'RCTActionSheet',
    'RCTAnimation',
    'RCTGeolocation',
    'RCTImage',
    'RCTLinkingIOS',
    'RCTNetwork',
    'RCTSettings',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
  ]

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

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

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

  pod 'Firebase/Core'
  pod 'Firebase/Messaging'

end
Run Code Online (Sandbox Code Playgroud)

包.json

{
  "name": "Project",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "@types/styled-components": "^4.1.6",
    "axios": "^0.18.0",
    "moment": "^2.24.0",
    "native-base": "^2.10.0",
    "prop-types": "^15.6.2",
    "react": "16.6.3",
    "react-addons-update": "^15.6.2",
    "react-native": "0.57.8",
    "react-native-autogrow-textinput": "^5.2.0",
    "react-native-cached-image": "^1.4.3",
    "react-native-fbsdk": "^0.8.0",
    "react-native-fetch-blob": "^0.10.8",
    "react-native-firebase": "^5.2.2",
    "react-native-gifted-chat": "^0.7.2",
    "react-native-highcharts": "^1.0.2",
    "react-native-image-picker": "^0.28.0",
    "react-native-image-zoom-viewer": "^2.2.25",
    "react-native-linear-gradient": "^2.5.3",
    "react-native-popup-menu": "^0.15.0",
    "react-native-read-more-text": "^1.1.0",
    "react-native-render-html": "^4.1.1",
    "react-native-router-flux": "^4.0.6",
    "react-native-size-matters": "^0.1.6",
    "react-native-swiper": "^1.5.14",
    "react-native-view-more-text": "^2.0.1",
    "react-redux": "^6.0.0",
    "redux": "^4.0.1",
    "redux-thunk": "^2.3.0",
    "socket.io-client": "^2.2.0",
    "styled-components": "^4.1.3"
  },
  "devDependencies": {
    "@types/jest": "^23.3.13",
    "@types/react": "^16.7.20",
    "@types/react-native": "^0.57.29",
    "@types/react-test-renderer": "^16.0.3",
    "babel-jest": "23.6.0",
    "eslint-config-rallycoding": "^3.2.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.51.1",
    "react-native-typescript-transformer": "^1.2.11",
    "react-test-renderer": "16.6.3",
    "typescript": "^3.2.4"
  },
  "jest": {
    "preset": "react-native",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js"
    ],
    "transform": {
      "^.+\\.(js)$": "<rootDir>/node_modules/babel-jest",
      "\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
    },
    "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
    "testPathIgnorePatterns": [
      "\\.snap$",
      "<rootDir>/node_modules/"
    ],
    "cacheDirectory": ".jest/cache"
  },
  "rnpm": {
    "assets": [
      "./src/assets/fonts"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

将二进制文件与库链接

Dre*_*yST 8

最后我通过将部署目标版本更改为 12.1 来解决它,因为 Podfile 和部署目标之间的版本不同。那么一切都很好!。

  • 详细说明这个答案,因为它对我帮助很大:如果使用 Ionic Framework,请转到platforms-&gt;ios-&gt;Podfile 并查看平台 :ios 编号设置为什么。就我而言,它是 11.0。然后转到 config.xml 并将部署目标首选项添加到该数字: &lt;preference name="deployment-target" value="11.0" /&gt; (2认同)