diff --git a/README.md b/README.md index 8578ba8..8f48b5a 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,15 @@ https://uiwjs.github.io/react-native-wechat/apple-app-site-association +
+iOS: -canOpenURL: failed for URL: "weixin://". + +> ``` +> -canOpenURL: failed for URL: "weixin://" - error: "The operation couldn’t be completed. (OSStatus error -10814.)" +> ``` + +
+
iOS: RCTBridge required dispatch_sync to load RCTDevLoadingView. diff --git a/android/src/main/java/com/uiwjs/react/wechat/RNWechatModule.java b/android/src/main/java/com/uiwjs/react/wechat/RNWechatModule.java index 1fae15e..0fcd12d 100644 --- a/android/src/main/java/com/uiwjs/react/wechat/RNWechatModule.java +++ b/android/src/main/java/com/uiwjs/react/wechat/RNWechatModule.java @@ -29,7 +29,7 @@ public class RNWechatModule extends ReactContextBaseJavaModule { public void registerApp(String appid, Promise promise) { try { this.appId = appid; - api = WXAPIFactory.createWXAPI(reactContext.getApplicationContext(), appid, true); + api = WXAPIFactory.createWXAPI(reactContext.getApplicationContext(), null, false); promise.resolve(api.registerApp(appid)); } catch (Exception e) { promise.reject("-1", e.getMessage()); @@ -47,5 +47,29 @@ public class RNWechatModule extends ReactContextBaseJavaModule { promise.reject("-1", e.getMessage()); } } + @ReactMethod + public void isWXAppInstalled(Promise promise) { + try { + if (api == null) { + throw new Exception(NOT_REGISTERED); + } + promise.resolve(api.isWXAppInstalled()); + } catch (Exception e) { + promise.reject("-1", e.getMessage()); + } + } + + @ReactMethod + public void isWXAppSupportApi(Promise promise) { + try { + if (api == null) { + throw new Exception(NOT_REGISTERED); + } + int wxSdkVersion = api.getWXAppSupportAPI(); + promise.resolve(wxSdkVersion); + } catch (Exception e) { + promise.reject("-1", e.getMessage()); + } + } } diff --git a/example/App.js b/example/App.js index 7e29eaa..39ac0d5 100644 --- a/example/App.js +++ b/example/App.js @@ -9,12 +9,19 @@ export default class App extends Component { version: null, }; async componentDidMount() { - const isInstall = await Wechat.isWXAppInstalled(); - const isWXAppSupportApi = await Wechat.isWXAppSupportApi(); - const version = await Wechat.getApiVersion(); - this.setState({ - isInstall, isWXAppSupportApi, version - }); + try { + const reg = await Wechat.registerApp('wxd930ea5d5a258f4f'); + console.log('reg:', reg); + const isInstall = await Wechat.isWXAppInstalled(); + const isWXAppSupportApi = await Wechat.isWXAppSupportApi(); + const version = await Wechat.getApiVersion(); + console.log('version:', version) + this.setState({ + isInstall, isWXAppSupportApi, version + }); + } catch (error) { + console.log('error>', error); + } } render() { const { isInstall, isWXAppSupportApi, version } = this.state; @@ -29,7 +36,7 @@ export default class App extends Component { 当前微信的版本{isWXAppSupportApi ? '支持' : '不支持'} OpenApi - {version} + - v{version}