AppDelegate.m
2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//
// AppDelegate.m
// DreamSleep
//
// Created by peter on 2022/3/29.
//
#import "AppDelegate.h"
#import "PrivacyView.h"
#import "PrivacyViewController.h"
#import "DSTabBarController.h"
#import "WXApi.h"
#import "BaseNaviController.h"
@interface AppDelegate () <WXApiDelegate>
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [UIWindow.alloc initWithFrame:UIScreen.mainScreen.bounds];
self.window.backgroundColor = DSWhite;
[self.window makeKeyAndVisible];
UIStoryboard * mainStoryBoard =[UIStoryboard storyboardWithName:@"Main" bundle:nil];
self.window.rootViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"mainSB"];
// BaseNaviController *navi = [[BaseNaviController alloc] initWithRootViewController:[[PrivacyViewController alloc] init]];
// self.window.rootViewController = navi;
[self initWeChat];
return YES;
}
- (void)initWeChat {
// 在register之前打开log, 后续可以根据log排查问题
// [WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
// DSLog(@"WeChatSDK: %@", log);
// }];
// 务必在调用自检函数前注册
[WXApi registerApp:WeChatAppID universalLink:UNIVERSAL_LINK];
// 调用自检函数
// [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
// DSLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
// }];
}
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
return [WXApi handleOpenURL:url delegate:self];
}
#pragma mark - WXApiDelegate
- (void)onReq:(BaseReq *)req {
DSLog(@"req:%@", req);
}
/*! 微信回调,不管是登录还是分享成功与否,都是走这个方法 @brief 发送一个sendReq后,收到微信的回应
*
* 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。
* 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。
* @param resp 具体的回应内容,是自动释放的
*/
- (void)onResp:(BaseResp*)resp {
DSLog(@"resp %d",resp.errCode);
/*
enum WXErrCode {
WXSuccess = 0, 成功
WXErrCodeCommon = -1, 普通错误类型
WXErrCodeUserCancel = -2, 用户点击取消并返回
WXErrCodeSentFail = -3, 发送失败
WXErrCodeAuthDeny = -4, 授权失败
WXErrCodeUnsupport = -5, 微信不支持
};
*/
// 授权登录的类
if ([resp isKindOfClass:[SendAuthResp class]]) {
if (resp.errCode == 0) {
SendAuthResp *resp2 = (SendAuthResp *)resp;
DSLog(@"resp2.code:%@", resp2.code);
} else {
DSLog(@"error:%@", resp.errStr);
}
}
}
@end