diff --git a/README.md b/README.md index 7b844ed..aea2d1d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [React Native] bridging library that integrates WeChat SDKs: -- [x] iOS SDK 1.8.6.1 +- [x] iOS SDK 1.8.7.1 - [x] Android SDK 5.5.6 ## 前言 @@ -17,6 +17,11 @@ 最后,感谢 [yorkie](https://github.com/yorkie) 和各位开发者为 react-native-wechat 做出的贡献。 +## 附言 + +如果你的 IOS 版本需要使用不带支付功能的 WeChat SDK,请使用带有 “-notpay” 后缀的 NPM 包。 +If you need to use the WeChat SDK without payment for your IOS version, use the NPM package with the suffix "-notpay". + ## 目录 - [安装](#安装) diff --git a/ios/README.txt b/ios/README.txt index d16b304..2ab6a04 100644 --- a/ios/README.txt +++ b/ios/README.txt @@ -1,3 +1,16 @@ +重要! + +SDK1.8.7.1 +1. 修复Xcode11以下编译不通过 + +SDK1.8.7 +1. 修复iPadOS,未安装微信的情况下,因为UA问题无法授权登录 +2. 修复未安装微信的情况下, 适配了UIScene的App因为UIAlertView Crash +3. 增加Universal Link检测函数 + +SDK1.8.6.2 +1. 修改包含"UIWebView"字符的类名 + SDK1.8.6.1 1.短信授权登录使用的UIWebview切换成WKWebview diff --git a/ios/WXApi.h b/ios/WXApi.h index 8266cce..c5ca13f 100644 --- a/ios/WXApi.h +++ b/ios/WXApi.h @@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。 * @param req 具体请求内容,是自动释放的 */ -- (void) onReq:(BaseReq*)req; +- (void)onReq:(BaseReq*)req; @@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。 * @param resp具体的回应内容,是自动释放的 */ -- (void) onResp:(BaseResp*)resp; +- (void)onResp:(BaseResp*)resp; @end @@ -48,6 +48,7 @@ NS_ASSUME_NONNULL_BEGIN @end + #pragma mark - WXApi /*! @brief 微信Api接口函数类 @@ -157,6 +158,18 @@ NS_ASSUME_NONNULL_BEGIN + (void)sendAuthReq:(SendAuthReq *)req viewController:(UIViewController*)viewController delegate:(nullable id)delegate completion:(void (^ __nullable)(BOOL success))completion; +/*! @brief 测试函数,用于排查当前App通过Universal Link方式分享到微信的流程 + 注意1: 调用自检函数之前必须要先调用registerApp:universalLink接口, 并确认调用成功 + 注意2: 自检过程中会有Log产生,可以先调用startLogByLevel函数,根据Log排查问题 + 注意3: 会多次回调block + 注意4: 仅用于新接入SDK时调试使用,请勿在正式环境的调用 + * + * 当completion回调的step为WXULCheckStepFinal时,表示检测通过,Universal Link接入成功 + * @param completion 回调Block + */ ++ (void)checkUniversalLinkReady:(nonnull WXCheckULCompletion)completion; + + /*! @brief WXApi的成员函数,接受微信的log信息。byBlock 注意1:SDK会强引用这个block,注意不要导致内存泄漏,注意不要导致内存泄漏 注意2:调用过一次startLog by block之后,如果再调用一次任意方式的startLoad,会释放上一次logBlock,不再回调上一个logBlock @@ -164,6 +177,7 @@ NS_ASSUME_NONNULL_BEGIN * @param level 打印log的级别 * @param logBlock 打印log的回调block */ + + (void)startLogByLevel:(WXLogLevel)level logBlock:(WXLogBolock)logBlock; /*! @brief WXApi的成员函数,接受微信的log信息。byDelegate @@ -178,6 +192,7 @@ NS_ASSUME_NONNULL_BEGIN * @param */ + (void)stopLog; + @end NS_ASSUME_NONNULL_END diff --git a/ios/WXApiObject.h b/ios/WXApiObject.h index 28828e2..635dc8e 100644 --- a/ios/WXApiObject.h +++ b/ios/WXApiObject.h @@ -80,6 +80,55 @@ typedef NS_ENUM(NSInteger,WXLogLevel) { */ typedef void(^WXLogBolock)(NSString *log); +/*! @brief 微信Universal Link检查函数 (WXApi#checkUniversalLinkReady:),检查步骤枚举值 + * + * WXULCheckStepParams 参数检测 + * WXULCheckStepSystemVersion 当前系统版本检测 + * WXULCheckStepWechatVersion 微信客户端版本检测 + * WXULCheckStepSDKInnerOperation 微信SDK内部操作检测 + * WXULCheckStepLaunchWechat App拉起微信检测 + * WXULCheckStepBackToCurrentApp 由微信返回当前App检测 + * WXULCheckStepFinal 最终结果 + */ +typedef NS_ENUM(NSInteger, WXULCheckStep) +{ + WXULCheckStepParams, + WXULCheckStepSystemVersion, + WXULCheckStepWechatVersion, + WXULCheckStepSDKInnerOperation, + WXULCheckStepLaunchWechat, + WXULCheckStepBackToCurrentApp, + WXULCheckStepFinal, +}; + + +#pragma mark - WXCheckULStepResult + +/*! @brief 该类为微信Universal Link检测函数结果类 +* +*/ +@interface WXCheckULStepResult : NSObject + +/** 是否成功 */ +@property(nonatomic, assign) BOOL success; +/** 当前错误信息 */ +@property(nonatomic, strong) NSString* errorInfo; +/** 修正建议 */ +@property(nonatomic, strong) NSString* suggestion; + +- (instancetype)initWithCheckResult:(BOOL)success errorInfo:(nullable NSString*)errorInfo suggestion:(nullable NSString*)suggestion; + +@end + + +/*! @brief 微信Universal Link检查函数 (WXApi#checkUniversalLinkReady:),回调Block + * + * @param step 当前检测步骤 + * @param result 检测结果 + */ +typedef void(^WXCheckULCompletion)(WXULCheckStep step, WXCheckULStepResult* result); + + #pragma mark - BaseReq /*! @brief 该类为微信终端SDK所有请求类的基类 * diff --git a/ios/libWeChatSDK.a b/ios/libWeChatSDK.a index 79e9269..66b3398 100644 Binary files a/ios/libWeChatSDK.a and b/ios/libWeChatSDK.a differ diff --git a/package.json b/package.json index 816ceb2..d19abc6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-wechat-lib", - "version": "1.1.16", + "version": "1.1.18", "description": "react-native library for wechat app. 支持分享和拉起小程序。", "main": "index.js", "scripts": {