react-native-wechat-lib
react-native-wechat-lib copied to clipboard
IOS 无法shareLocalImage, shareImage 不支持 imageResource(data:image)
shareLocalImage出错, TypeError: nativeShareLocalImage is not a function;
PS: 文档写的是ShareLocalImage,据测试应该是shareLocalImage
分享本地图片你用 WeChat.shareImage,然后传scene的值 @RainLaurent WeChat.shareImage({ imageUrl: "file://" + this.state.uri, scene: 1 }).then((response) => { console.log(response); Toast.info('分享成功', 0.5); }).catch((error) => { let errorCode = Number(error.code); if (errorCode === -2) { Toast.info('分享已取消', 0.5); } else { Toast.info('分享失败', 0.5); } })
分享本地图片你用 WeChat.shareImage,然后传scene的值 @RainLaurent
WeChat.shareImage({ imageUrl: "file://" + this.state.uri, scene: 1 }).then((response) => { console.log(response); Toast.info('分享成功', 0.5); }).catch((error) => { let errorCode = Number(error.code); if (errorCode === -2) { Toast.info('分享已取消', 0.5); } else { Toast.info('分享失败', 0.5); } })
这对我有效
我一开始用的 react-native-wechat
,但是因为那边 sdk 迟迟不更新,就使用了react-native-wechat-lib
,然后按照文档说明,使用了 ShareImage
和 ShareLocalImage
都报如下错误:
Possible Unhandled Promise Rejection (id: 0):
TypeError: WeChat.ShareImage is not a function. (In 'WeChat.ShareImage(option)', 'WeChat.ShareImage' is undefined)
首字母大写,是 is not a function
,
首字母小写, 是
{ [TypeError: nativeShareImage is not a function. (In 'nativeShareImage(data)', 'nativeShareImage' is undefined)]
line: 199455,
column: 23,
sourceURL: 'http://192.168.1.164:8081/index.bundle?platform=ios&dev=true&minify=false' }
Environment
Node: 14.4.0
Yarn: 1.21.1
npm: 6.14.5
Watchman: 4.9.0
CocoaPods: 1.8.4
react: 16.11.0 => 16.11.0
react-native: 0.62.2 => 0.62.2
react-native-wechat-lib: 1.1.22
Step
yarn add react-native-wechat-lib
cd ios && pod install
给大家避避坑, 一开始用react-native-wechat
后来转lib
的是有可能会出现这个问题的,因为RN原生模块里link的可能还是上一个库的内容, 是需要将之前的wechat删除重新link lib
的,具体可以通过打印Wechat看看里面的对象方法是否还是上一个库的内容就知道了