IOS 和 Android 的 React Native FBSDK 版本搞砸了

React Native FBSDK Version messed up for IOS and Android

我对 IOS 和 Android 上的 FBSDK 包版本有疑问。

对于Android,如果我使用最新的0.6.0版本,会出现错误提示:

  • What went wrong: Execution failed for task ':app:processDebugResources'.

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Users/admin/Library/Android/sdk/build-tools/26.0.0/aapt'' finished with non-zero exit value 1

现在要解决这个问题,我必须降级到 0.5.0,它工作正常。

但是在 IOS 中,使用 0.5.0 版本时,我收到一条错误消息:

FBSDKCoreKit/FBSDKCoreKit.h not found

所以我必须将它提升到 0.6.0 才能解决这个问题。我不知道如何对齐这个版本。非常感谢任何建议。

终于整理好了,我克隆了最新的0.6.1版本,修改了代码,使其在android和ios上都可以在RN0.43.3上运行。

步骤如下:

  1. cloning/installing最新版本后,去你的node_modules/react-native-fbsdk/js.

  2. 打开这些文件:FBLikeView.js、FBLoginButton.js、FBMessageDialog.js、FBSendButton.js、FBShareButton.js.

  3. import PropTypes from 'prop-types';改为import React, { PropTypes } from 'react';

  4. 在react native import下将ViewPropTypes改为View.

  5. ...ViewPropTypes,更改为...View.propTypes,

  6. 保存更改并完成。

注意:您必须在打开的所有 5 个文件中执行此操作。

到目前为止,它对我来说很完美。

这解决了以下问题:

'LikeView' has no propType 'RCTFBLikeView.onLayout' of native type 'boolean' if you haven't changed this