2 Revīzijas bb11a83aa1 ... 905bf3fc32

Autors SHA1 Ziņojums Datums
  sunyue 905bf3fc32 third commit 5 gadi atpakaļ
  sunyue b25edf24dd third commit 5 gadi atpakaļ
41 mainītis faili ar 539 papildinājumiem un 59 dzēšanām
  1. 56 0
      ACSION.xcodeproj/project.pbxproj
  2. BIN
      ACSION.xcworkspace/xcuserdata/sunyue.xcuserdatad/UserInterfaceState.xcuserstate
  3. 4 0
      ACSION/ACSIONHeader.h
  4. 1 0
      ACSION/ACSIONPrefixHeader.pch
  5. 82 1
      ACSION/AppDelegate.m
  6. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/1024.png
  7. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/20@2x.png
  8. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/20@3x.png
  9. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/29@2x.png
  10. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/29@3x.png
  11. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/40@2x.png
  12. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/40@3x.png
  13. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/60@2x.png
  14. BIN
      ACSION/Assets.xcassets/AppIcon.appiconset/60@3x.png
  15. 18 54
      ACSION/Assets.xcassets/AppIcon.appiconset/Contents.json
  16. 23 0
      ACSION/Assets.xcassets/Home/register_agree.imageset/Contents.json
  17. BIN
      ACSION/Assets.xcassets/Home/register_agree.imageset/未同意.png
  18. BIN
      ACSION/Assets.xcassets/Home/register_agree.imageset/未同意@2x.png
  19. BIN
      ACSION/Assets.xcassets/Home/register_agree.imageset/未同意@3x.png
  20. 23 0
      ACSION/Assets.xcassets/Home/register_agree_selected.imageset/Contents.json
  21. BIN
      ACSION/Assets.xcassets/Home/register_agree_selected.imageset/同意.png
  22. BIN
      ACSION/Assets.xcassets/Home/register_agree_selected.imageset/同意@2x.png
  23. BIN
      ACSION/Assets.xcassets/Home/register_agree_selected.imageset/同意@3x.png
  24. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/1125.png
  25. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/1242-1.png
  26. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/1242.png
  27. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/320.png
  28. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/640 copy-1.png
  29. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/640 copy.png
  30. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/640-1.png
  31. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/640.png
  32. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/750.png
  33. BIN
      ACSION/Assets.xcassets/LaunchImage.launchimage/828.png
  34. 92 0
      ACSION/Assets.xcassets/LaunchImage.launchimage/Contents.json
  35. 6 0
      ACSION/Info.plist
  36. 7 1
      ACSION/Main/Module/Home/V/ASApplyBigInputTableViewCell.m
  37. 47 2
      ACSION/Main/Module/User/C/ASRegisterViewController.m
  38. 2 0
      ACSION/Main/Module/User/C/ASUserLoginViewController.m
  39. 1 1
      ACSION/Main/Module/User/V/ASLoginInputTableViewCell.m
  40. 177 0
      ACSION/Vendor/MI/MiPushSDK.h
  41. BIN
      ACSION/Vendor/MI/libMiPushSDK.a

+ 56 - 0
ACSION.xcodeproj/project.pbxproj

@@ -36,6 +36,15 @@
36 36
 		492D33092270462A007EE8E9 /* ASOrderModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 492D33082270462A007EE8E9 /* ASOrderModel.m */; };
37 37
 		C09669A8CB4ED2080074CBBD /* libPods-ACSION.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 56C595EB87A74D62D45FA078 /* libPods-ACSION.a */; };
38 38
 		E113FD702270154000886A71 /* NSObject+ASToDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = E113FD6F2270154000886A71 /* NSObject+ASToDictionary.m */; };
39
+		E113FD742270308200886A71 /* libMiPushSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD732270308200886A71 /* libMiPushSDK.a */; };
40
+		E113FD762270468C00886A71 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD752270468B00886A71 /* UserNotifications.framework */; };
41
+		E113FD78227046AC00886A71 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD77227046AC00886A71 /* SystemConfiguration.framework */; };
42
+		E113FD7A227046BA00886A71 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD79227046BA00886A71 /* MobileCoreServices.framework */; };
43
+		E113FD7C227046C400886A71 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD7B227046C400886A71 /* CFNetwork.framework */; };
44
+		E113FD7E227046D000886A71 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD7D227046D000886A71 /* CoreTelephony.framework */; };
45
+		E113FD80227046D900886A71 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD7F227046D900886A71 /* libz.tbd */; };
46
+		E113FD82227046E200886A71 /* libxml2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD81227046E200886A71 /* libxml2.tbd */; };
47
+		E113FD84227046EE00886A71 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = E113FD83227046EE00886A71 /* libresolv.tbd */; };
39 48
 		E13E389A226D89DA00792451 /* ASHomeViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E13E3899226D89DA00792451 /* ASHomeViewModel.m */; };
40 49
 		E13E389E226D95CF00792451 /* ASHomeLoanTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E13E389D226D95CF00792451 /* ASHomeLoanTableViewCell.m */; };
41 50
 		E13E38A1226D962A00792451 /* ASHomeAnnounceTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E13E38A0226D962A00792451 /* ASHomeAnnounceTableViewCell.m */; };
@@ -128,6 +137,16 @@
128 137
 		5A1FFFC5DC9C674CA851D087 /* Pods-ACSION.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ACSION.release.xcconfig"; path = "Target Support Files/Pods-ACSION/Pods-ACSION.release.xcconfig"; sourceTree = "<group>"; };
129 138
 		E113FD6E2270154000886A71 /* NSObject+ASToDictionary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSObject+ASToDictionary.h"; sourceTree = "<group>"; };
130 139
 		E113FD6F2270154000886A71 /* NSObject+ASToDictionary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSObject+ASToDictionary.m"; sourceTree = "<group>"; };
140
+		E113FD722270308000886A71 /* MiPushSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MiPushSDK.h; sourceTree = "<group>"; };
141
+		E113FD732270308200886A71 /* libMiPushSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libMiPushSDK.a; sourceTree = "<group>"; };
142
+		E113FD752270468B00886A71 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; };
143
+		E113FD77227046AC00886A71 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
144
+		E113FD79227046BA00886A71 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
145
+		E113FD7B227046C400886A71 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
146
+		E113FD7D227046D000886A71 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
147
+		E113FD7F227046D900886A71 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
148
+		E113FD81227046E200886A71 /* libxml2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libxml2.tbd; path = usr/lib/libxml2.tbd; sourceTree = SDKROOT; };
149
+		E113FD83227046EE00886A71 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; };
131 150
 		E13E3898226D89DA00792451 /* ASHomeViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ASHomeViewModel.h; sourceTree = "<group>"; };
132 151
 		E13E3899226D89DA00792451 /* ASHomeViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ASHomeViewModel.m; sourceTree = "<group>"; };
133 152
 		E13E389C226D95CF00792451 /* ASHomeLoanTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ASHomeLoanTableViewCell.h; sourceTree = "<group>"; };
@@ -202,6 +221,15 @@
202 221
 			isa = PBXFrameworksBuildPhase;
203 222
 			buildActionMask = 2147483647;
204 223
 			files = (
224
+				E113FD84227046EE00886A71 /* libresolv.tbd in Frameworks */,
225
+				E113FD82227046E200886A71 /* libxml2.tbd in Frameworks */,
226
+				E113FD80227046D900886A71 /* libz.tbd in Frameworks */,
227
+				E113FD7E227046D000886A71 /* CoreTelephony.framework in Frameworks */,
228
+				E113FD7C227046C400886A71 /* CFNetwork.framework in Frameworks */,
229
+				E113FD7A227046BA00886A71 /* MobileCoreServices.framework in Frameworks */,
230
+				E113FD78227046AC00886A71 /* SystemConfiguration.framework in Frameworks */,
231
+				E113FD762270468C00886A71 /* UserNotifications.framework in Frameworks */,
232
+				E113FD742270308200886A71 /* libMiPushSDK.a in Frameworks */,
205 233
 				C09669A8CB4ED2080074CBBD /* libPods-ACSION.a in Frameworks */,
206 234
 			);
207 235
 			runOnlyForDeploymentPostprocessing = 0;
@@ -212,6 +240,14 @@
212 240
 		469AE2F8DD2A387478EABBF9 /* Frameworks */ = {
213 241
 			isa = PBXGroup;
214 242
 			children = (
243
+				E113FD83227046EE00886A71 /* libresolv.tbd */,
244
+				E113FD81227046E200886A71 /* libxml2.tbd */,
245
+				E113FD7F227046D900886A71 /* libz.tbd */,
246
+				E113FD7D227046D000886A71 /* CoreTelephony.framework */,
247
+				E113FD7B227046C400886A71 /* CFNetwork.framework */,
248
+				E113FD79227046BA00886A71 /* MobileCoreServices.framework */,
249
+				E113FD77227046AC00886A71 /* SystemConfiguration.framework */,
250
+				E113FD752270468B00886A71 /* UserNotifications.framework */,
215 251
 				56C595EB87A74D62D45FA078 /* libPods-ACSION.a */,
216 252
 			);
217 253
 			name = Frameworks;
@@ -372,6 +408,15 @@
372 408
 			path = Pods;
373 409
 			sourceTree = "<group>";
374 410
 		};
411
+		E113FD712270306700886A71 /* MI */ = {
412
+			isa = PBXGroup;
413
+			children = (
414
+				E113FD732270308200886A71 /* libMiPushSDK.a */,
415
+				E113FD722270308000886A71 /* MiPushSDK.h */,
416
+			);
417
+			path = MI;
418
+			sourceTree = "<group>";
419
+		};
375 420
 		E13E3897226D89C600792451 /* VM */ = {
376 421
 			isa = PBXGroup;
377 422
 			children = (
@@ -458,6 +503,7 @@
458 503
 		E14DE48D226D5B9D00B092CB /* Vendor */ = {
459 504
 			isa = PBXGroup;
460 505
 			children = (
506
+				E113FD712270306700886A71 /* MI */,
461 507
 			);
462 508
 			path = Vendor;
463 509
 			sourceTree = "<group>";
@@ -922,6 +968,7 @@
922 968
 			baseConfigurationReference = F91CB69C2B2FD829CC5349D7 /* Pods-ACSION.debug.xcconfig */;
923 969
 			buildSettings = {
924 970
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
971
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
925 972
 				CODE_SIGN_STYLE = Automatic;
926 973
 				GCC_PREFIX_HEADER = "$(SRCROOT)/ACSION/ACSIONPrefixHeader.pch";
927 974
 				INFOPLIST_FILE = ACSION/Info.plist;
@@ -930,6 +977,10 @@
930 977
 					"$(inherited)",
931 978
 					"@executable_path/Frameworks",
932 979
 				);
980
+				LIBRARY_SEARCH_PATHS = (
981
+					"$(inherited)",
982
+					"$(PROJECT_DIR)/ACSION/Vendor/MI",
983
+				);
933 984
 				PRODUCT_BUNDLE_IDENTIFIER = com.acsion.ACSION;
934 985
 				PRODUCT_NAME = "$(TARGET_NAME)";
935 986
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -941,6 +992,7 @@
941 992
 			baseConfigurationReference = 5A1FFFC5DC9C674CA851D087 /* Pods-ACSION.release.xcconfig */;
942 993
 			buildSettings = {
943 994
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
995
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
944 996
 				CODE_SIGN_STYLE = Automatic;
945 997
 				GCC_PREFIX_HEADER = "$(SRCROOT)/ACSION/ACSIONPrefixHeader.pch";
946 998
 				INFOPLIST_FILE = ACSION/Info.plist;
@@ -949,6 +1001,10 @@
949 1001
 					"$(inherited)",
950 1002
 					"@executable_path/Frameworks",
951 1003
 				);
1004
+				LIBRARY_SEARCH_PATHS = (
1005
+					"$(inherited)",
1006
+					"$(PROJECT_DIR)/ACSION/Vendor/MI",
1007
+				);
952 1008
 				PRODUCT_BUNDLE_IDENTIFIER = com.acsion.ACSION;
953 1009
 				PRODUCT_NAME = "$(TARGET_NAME)";
954 1010
 				TARGETED_DEVICE_FAMILY = "1,2";

BIN
ACSION.xcworkspace/xcuserdata/sunyue.xcuserdatad/UserInterfaceState.xcuserstate


+ 4 - 0
ACSION/ACSIONHeader.h

@@ -9,8 +9,12 @@
9 9
 #ifndef ACSIONHeader_h
10 10
 #define ACSIONHeader_h
11 11
 
12
+<<<<<<< HEAD
13
+#define UMAPP_KEY       @"5cc003ab0cafb2f18d000033`"
14
+=======
12 15
 #define UMAPP_KEY       @""
13 16
 
17
+>>>>>>> bb11a83aa1d48b8f8f95e6cad6b50a000297b206
14 18
 #define CHANNEL_ID      @"20154"
15 19
 #define kRegularFont    @"PingFangSC-Regular"
16 20
 #define kMediumFont     @"PingFangSC-Medium"

+ 1 - 0
ACSION/ACSIONPrefixHeader.pch

@@ -20,6 +20,7 @@
20 20
 #import "ASHttpTool.h"
21 21
 #import "XHToast.h"
22 22
 #import "NSObject+ASToDictionary.h"
23
+#import "MiPushSDK.h"
23 24
 
24 25
 #import <AFNetworking.h>
25 26
 #import <SDWebImage.h>

+ 82 - 1
ACSION/AppDelegate.m

@@ -8,8 +8,9 @@
8 8
 
9 9
 #import "AppDelegate.h"
10 10
 #import "ASTabViewController.h"
11
+#import "MiPushSDK.h"
11 12
 
12
-@interface AppDelegate ()
13
+@interface AppDelegate () <MiPushSDKDelegate,UNUserNotificationCenterDelegate>
13 14
 
14 15
 @end
15 16
 
@@ -18,10 +19,43 @@
18 19
 
19 20
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
20 21
     // Override point for customization after application launch.
22
+    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
23
+    [self regMI:launchOptions];
24
+    [self regUM];
21 25
     [self regRootController];
22 26
     return YES;
23 27
 }
24 28
 
29
+- (void)regMI:(NSDictionary *)launchOptions {
30
+    if (@available(iOS 10.0, *)) {
31
+        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
32
+        [center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert|UNAuthorizationOptionBadge|UNAuthorizationOptionSound) completionHandler:^(BOOL granted, NSError * _Nullable error) {
33
+            if (granted) {
34
+                [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
35
+                    
36
+                }];
37
+            }
38
+        }];
39
+        center.delegate = self;
40
+        [MiPushSDK registerMiPush:self type:0 connect:YES];
41
+    } else {
42
+        [MiPushSDK registerMiPush:self type:0 connect:YES];
43
+    }
44
+    NSDictionary *dic = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
45
+    if (dic) {
46
+        NSString *idStr = [dic objectForKey:@"_id_"];
47
+        if (idStr) {
48
+            [MiPushSDK openAppNotify:idStr];
49
+        }
50
+    }
51
+}
52
+
53
+- (void)regUM {
54
+    UMConfigInstance.appKey = UMAPP_KEY;
55
+    UMConfigInstance.channelId = @"App Store";
56
+    [MobClick startWithConfigure:UMConfigInstance];
57
+}
58
+
25 59
 
26 60
 - (void)regRootController {
27 61
     _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
@@ -31,6 +65,53 @@
31 65
 }
32 66
 
33 67
 
68
+- (void)miPushRequestSuccWithSelector:(NSString *)selector data:(NSDictionary *)data {
69
+    
70
+}
71
+
72
+- (void)miPushRequestErrWithSelector:(NSString *)selector error:(int)error data:(NSDictionary *)data {
73
+    
74
+}
75
+
76
+
77
+- (void)miPushReceiveNotification:(NSDictionary *)data {
78
+    
79
+}
80
+
81
+
82
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
83
+    [MiPushSDK handleReceiveRemoteNotification:userInfo];
84
+}
85
+
86
+
87
+- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler  API_AVAILABLE(ios(10.0)){
88
+    NSDictionary *dic = notification.request.content.userInfo;
89
+    if ([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
90
+        [MiPushSDK handleReceiveRemoteNotification:dic];
91
+    }
92
+    completionHandler(UNNotificationPresentationOptionAlert);
93
+}
94
+
95
+
96
+- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler  API_AVAILABLE(ios(10.0)){
97
+    NSDictionary *dic = response.notification.request.content.userInfo;
98
+    if ([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
99
+        [MiPushSDK handleReceiveRemoteNotification:dic];
100
+    }
101
+    completionHandler();
102
+}
103
+
104
+
105
+- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
106
+    [MiPushSDK bindDeviceToken:deviceToken];
107
+}
108
+
109
+
110
+- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
111
+    
112
+}
113
+
114
+
34 115
 - (void)applicationWillResignActive:(UIApplication *)application {
35 116
     // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
36 117
     // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.

BIN
ACSION/Assets.xcassets/AppIcon.appiconset/1024.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/20@2x.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/20@3x.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/29@2x.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/29@3x.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/40@2x.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/40@3x.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/60@2x.png


BIN
ACSION/Assets.xcassets/AppIcon.appiconset/60@3x.png


+ 18 - 54
ACSION/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -1,93 +1,57 @@
1 1
 {
2 2
   "images" : [
3 3
     {
4
-      "idiom" : "iphone",
5 4
       "size" : "20x20",
5
+      "idiom" : "iphone",
6
+      "filename" : "20@2x.png",
6 7
       "scale" : "2x"
7 8
     },
8 9
     {
9
-      "idiom" : "iphone",
10 10
       "size" : "20x20",
11
+      "idiom" : "iphone",
12
+      "filename" : "20@3x.png",
11 13
       "scale" : "3x"
12 14
     },
13 15
     {
14
-      "idiom" : "iphone",
15 16
       "size" : "29x29",
17
+      "idiom" : "iphone",
18
+      "filename" : "29@2x.png",
16 19
       "scale" : "2x"
17 20
     },
18 21
     {
19
-      "idiom" : "iphone",
20 22
       "size" : "29x29",
23
+      "idiom" : "iphone",
24
+      "filename" : "29@3x.png",
21 25
       "scale" : "3x"
22 26
     },
23 27
     {
24
-      "idiom" : "iphone",
25 28
       "size" : "40x40",
29
+      "idiom" : "iphone",
30
+      "filename" : "40@2x.png",
26 31
       "scale" : "2x"
27 32
     },
28 33
     {
29
-      "idiom" : "iphone",
30 34
       "size" : "40x40",
35
+      "idiom" : "iphone",
36
+      "filename" : "40@3x.png",
31 37
       "scale" : "3x"
32 38
     },
33 39
     {
34
-      "idiom" : "iphone",
35 40
       "size" : "60x60",
41
+      "idiom" : "iphone",
42
+      "filename" : "60@2x.png",
36 43
       "scale" : "2x"
37 44
     },
38 45
     {
39
-      "idiom" : "iphone",
40 46
       "size" : "60x60",
47
+      "idiom" : "iphone",
48
+      "filename" : "60@3x.png",
41 49
       "scale" : "3x"
42 50
     },
43 51
     {
44
-      "idiom" : "ipad",
45
-      "size" : "20x20",
46
-      "scale" : "1x"
47
-    },
48
-    {
49
-      "idiom" : "ipad",
50
-      "size" : "20x20",
51
-      "scale" : "2x"
52
-    },
53
-    {
54
-      "idiom" : "ipad",
55
-      "size" : "29x29",
56
-      "scale" : "1x"
57
-    },
58
-    {
59
-      "idiom" : "ipad",
60
-      "size" : "29x29",
61
-      "scale" : "2x"
62
-    },
63
-    {
64
-      "idiom" : "ipad",
65
-      "size" : "40x40",
66
-      "scale" : "1x"
67
-    },
68
-    {
69
-      "idiom" : "ipad",
70
-      "size" : "40x40",
71
-      "scale" : "2x"
72
-    },
73
-    {
74
-      "idiom" : "ipad",
75
-      "size" : "76x76",
76
-      "scale" : "1x"
77
-    },
78
-    {
79
-      "idiom" : "ipad",
80
-      "size" : "76x76",
81
-      "scale" : "2x"
82
-    },
83
-    {
84
-      "idiom" : "ipad",
85
-      "size" : "83.5x83.5",
86
-      "scale" : "2x"
87
-    },
88
-    {
89
-      "idiom" : "ios-marketing",
90 52
       "size" : "1024x1024",
53
+      "idiom" : "ios-marketing",
54
+      "filename" : "1024.png",
91 55
       "scale" : "1x"
92 56
     }
93 57
   ],

+ 23 - 0
ACSION/Assets.xcassets/Home/register_agree.imageset/Contents.json

@@ -0,0 +1,23 @@
1
+{
2
+  "images" : [
3
+    {
4
+      "idiom" : "universal",
5
+      "filename" : "未同意.png",
6
+      "scale" : "1x"
7
+    },
8
+    {
9
+      "idiom" : "universal",
10
+      "filename" : "未同意@2x.png",
11
+      "scale" : "2x"
12
+    },
13
+    {
14
+      "idiom" : "universal",
15
+      "filename" : "未同意@3x.png",
16
+      "scale" : "3x"
17
+    }
18
+  ],
19
+  "info" : {
20
+    "version" : 1,
21
+    "author" : "xcode"
22
+  }
23
+}

BIN
ACSION/Assets.xcassets/Home/register_agree.imageset/未同意.png


BIN
ACSION/Assets.xcassets/Home/register_agree.imageset/未同意@2x.png


BIN
ACSION/Assets.xcassets/Home/register_agree.imageset/未同意@3x.png


+ 23 - 0
ACSION/Assets.xcassets/Home/register_agree_selected.imageset/Contents.json

@@ -0,0 +1,23 @@
1
+{
2
+  "images" : [
3
+    {
4
+      "idiom" : "universal",
5
+      "filename" : "同意.png",
6
+      "scale" : "1x"
7
+    },
8
+    {
9
+      "idiom" : "universal",
10
+      "filename" : "同意@2x.png",
11
+      "scale" : "2x"
12
+    },
13
+    {
14
+      "idiom" : "universal",
15
+      "filename" : "同意@3x.png",
16
+      "scale" : "3x"
17
+    }
18
+  ],
19
+  "info" : {
20
+    "version" : 1,
21
+    "author" : "xcode"
22
+  }
23
+}

BIN
ACSION/Assets.xcassets/Home/register_agree_selected.imageset/同意.png


BIN
ACSION/Assets.xcassets/Home/register_agree_selected.imageset/同意@2x.png


BIN
ACSION/Assets.xcassets/Home/register_agree_selected.imageset/同意@3x.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/1125.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/1242-1.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/1242.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/320.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/640 copy-1.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/640 copy.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/640-1.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/640.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/750.png


BIN
ACSION/Assets.xcassets/LaunchImage.launchimage/828.png


+ 92 - 0
ACSION/Assets.xcassets/LaunchImage.launchimage/Contents.json

@@ -0,0 +1,92 @@
1
+{
2
+  "images" : [
3
+    {
4
+      "extent" : "full-screen",
5
+      "idiom" : "iphone",
6
+      "subtype" : "2688h",
7
+      "filename" : "1242.png",
8
+      "minimum-system-version" : "12.0",
9
+      "orientation" : "portrait",
10
+      "scale" : "3x"
11
+    },
12
+    {
13
+      "extent" : "full-screen",
14
+      "idiom" : "iphone",
15
+      "subtype" : "1792h",
16
+      "filename" : "828.png",
17
+      "minimum-system-version" : "12.0",
18
+      "orientation" : "portrait",
19
+      "scale" : "2x"
20
+    },
21
+    {
22
+      "extent" : "full-screen",
23
+      "idiom" : "iphone",
24
+      "subtype" : "2436h",
25
+      "filename" : "1125.png",
26
+      "minimum-system-version" : "11.0",
27
+      "orientation" : "portrait",
28
+      "scale" : "3x"
29
+    },
30
+    {
31
+      "extent" : "full-screen",
32
+      "idiom" : "iphone",
33
+      "subtype" : "736h",
34
+      "filename" : "1242-1.png",
35
+      "minimum-system-version" : "8.0",
36
+      "orientation" : "portrait",
37
+      "scale" : "3x"
38
+    },
39
+    {
40
+      "extent" : "full-screen",
41
+      "idiom" : "iphone",
42
+      "subtype" : "667h",
43
+      "filename" : "750.png",
44
+      "minimum-system-version" : "8.0",
45
+      "orientation" : "portrait",
46
+      "scale" : "2x"
47
+    },
48
+    {
49
+      "orientation" : "portrait",
50
+      "idiom" : "iphone",
51
+      "filename" : "640 copy-1.png",
52
+      "extent" : "full-screen",
53
+      "minimum-system-version" : "7.0",
54
+      "scale" : "2x"
55
+    },
56
+    {
57
+      "extent" : "full-screen",
58
+      "idiom" : "iphone",
59
+      "subtype" : "retina4",
60
+      "filename" : "640-1.png",
61
+      "minimum-system-version" : "7.0",
62
+      "orientation" : "portrait",
63
+      "scale" : "2x"
64
+    },
65
+    {
66
+      "orientation" : "portrait",
67
+      "idiom" : "iphone",
68
+      "filename" : "320.png",
69
+      "extent" : "full-screen",
70
+      "scale" : "1x"
71
+    },
72
+    {
73
+      "orientation" : "portrait",
74
+      "idiom" : "iphone",
75
+      "filename" : "640 copy.png",
76
+      "extent" : "full-screen",
77
+      "scale" : "2x"
78
+    },
79
+    {
80
+      "orientation" : "portrait",
81
+      "idiom" : "iphone",
82
+      "filename" : "640.png",
83
+      "extent" : "full-screen",
84
+      "subtype" : "retina4",
85
+      "scale" : "2x"
86
+    }
87
+  ],
88
+  "info" : {
89
+    "version" : 1,
90
+    "author" : "xcode"
91
+  }
92
+}

+ 6 - 0
ACSION/Info.plist

@@ -41,5 +41,11 @@
41 41
 		<string>UIInterfaceOrientationLandscapeLeft</string>
42 42
 		<string>UIInterfaceOrientationLandscapeRight</string>
43 43
 	</array>
44
+    <key>MiSDKAppID</key>
45
+    <string>2882303761517605865</string>
46
+    <key>MiSDKAppKey</key>
47
+    <string>5181760590865</string>
48
+    <key>MiSDKRun</key>
49
+    <string>${MiSDKRun}</string>
44 50
 </dict>
45 51
 </plist>

+ 7 - 1
ACSION/Main/Module/Home/V/ASApplyBigInputTableViewCell.m

@@ -81,7 +81,13 @@
81 81
 }
82 82
 
83 83
 - (void)textStopEditing {
84
-    if (self.inputTextField.text.floatValue > 0 && self.inputTextField.text.floatValue < 10001) {
84
+    if (self.inputTextField.text.floatValue > 10000) {
85
+        self.inputTextField.text = @"10000";
86
+        [SVProgressHUD showErrorWithStatus:@"最多可借10000元"];
87
+    } else if (self.inputTextField.text.floatValue < 100) {
88
+        self.inputTextField.text = @"100";
89
+        [SVProgressHUD showErrorWithStatus:@"最少可借100元"];
90
+    } else if (self.inputTextField.text.floatValue >= 100 && self.inputTextField.text.floatValue <= 10000) {
85 91
         if ([self.delegate respondsToSelector:@selector(asApplyBigInputTableViewCell:item:)]) {
86 92
             [self.delegate asApplyBigInputTableViewCell:self item:self.inputTextField.text];
87 93
         }

+ 47 - 2
ACSION/Main/Module/User/C/ASRegisterViewController.m

@@ -17,6 +17,10 @@ static NSString * const kLoginInputCell = @"ASLoginInputTableViewCell";
17 17
 @property(nonatomic, strong) ASUserViewModel *userViewModel;
18 18
 @end
19 19
 
20
+static NSInteger const kAgreeTag = 100;
21
+static NSInteger const kRegisterTag = 101;
22
+static NSInteger const kHtmlTag = 102;
23
+
20 24
 @implementation ASRegisterViewController
21 25
 
22 26
 #pragma mark - Life Cycle Methods
@@ -68,6 +72,7 @@ static NSString * const kLoginInputCell = @"ASLoginInputTableViewCell";
68 72
     [self.view addSubview:_mainView];
69 73
     
70 74
     UIButton *nextBtn = [UIButton buttonWithType:UIButtonTypeCustom];
75
+    nextBtn.tag = kRegisterTag;
71 76
     nextBtn.backgroundColor = [UIColor baseColor];
72 77
     nextBtn.layer.cornerRadius = 20;
73 78
     nextBtn.titleLabel.font = [UIFont fontWithName:kMediumFont size:15];
@@ -81,6 +86,32 @@ static NSString * const kLoginInputCell = @"ASLoginInputTableViewCell";
81 86
         make.size.mas_equalTo(CGSizeMake(194, 40));
82 87
     }];
83 88
     
89
+    UIButton *htmlBtn = [UIButton buttonWithType:UIButtonTypeCustom];
90
+    htmlBtn.tag = kHtmlTag;
91
+    NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:@"同意《用户注册协议》"];
92
+    [attStr addAttributes:@{NSFontAttributeName:[UIFont fontWithName:kRegularFont size:12],NSForegroundColorAttributeName:[UIColor colorWithRGB:0x878787]} range:NSMakeRange(0, 2)];
93
+    [attStr addAttributes:@{NSFontAttributeName:[UIFont fontWithName:kRegularFont size:12],NSForegroundColorAttributeName:[UIColor colorWithRGB:0x3B86FC]} range:NSMakeRange(2, 8)];
94
+    [htmlBtn setAttributedTitle:attStr forState:UIControlStateNormal];
95
+    [htmlBtn addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
96
+    [self.view addSubview:htmlBtn];
97
+    [htmlBtn mas_makeConstraints:^(MASConstraintMaker *make) {
98
+        make.centerX.mas_equalTo(0);
99
+        make.bottom.mas_equalTo(-kSafeBottomHeight-10);
100
+        make.size.mas_equalTo(CGSizeMake(130, 17));
101
+    }];
102
+    
103
+    UIButton *agreeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
104
+    agreeBtn.tag = kAgreeTag;
105
+    [agreeBtn setImage:[UIImage imageNamed:@"register_agree"] forState:UIControlStateNormal];
106
+    [agreeBtn setImage:[UIImage imageNamed:@"register_agree_selected"] forState:UIControlStateSelected];
107
+    agreeBtn.selected = YES;
108
+    [agreeBtn addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
109
+    [self.view addSubview:agreeBtn];
110
+    [agreeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
111
+        make.centerY.mas_equalTo(htmlBtn);
112
+        make.right.mas_equalTo(htmlBtn.mas_left).offset(-4);
113
+    }];
114
+    
84 115
     __weak __typeof(self)weakSelf = self;
85 116
     UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
86 117
         [weakSelf.view endEditing:YES];
@@ -122,6 +153,7 @@ static NSString * const kLoginInputCell = @"ASLoginInputTableViewCell";
122 153
             [[NSUserDefaults standardUserDefaults] setObject:dic[@"id"] forKey:USER_ID];
123 154
             [[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:@"ISPOP"];
124 155
             [[NSUserDefaults standardUserDefaults] synchronize];
156
+            [MiPushSDK setAccount:dic[@"user_token"]];
125 157
             [self.navigationController popToRootViewControllerAnimated:YES];
126 158
         } failure:^(NSError *error) {
127 159
             
@@ -196,8 +228,21 @@ static NSString * const kLoginInputCell = @"ASLoginInputTableViewCell";
196 228
 
197 229
 - (void)buttonAction:(UIButton *)sender {
198 230
     [self.view endEditing:YES];
199
-    if ([self.userViewModel checkRegisterOfUserViewModel]) {
200
-        [self requestRegister];
231
+    if (sender.tag == kRegisterTag) {
232
+        UIButton *btn = [self.view viewWithTag:kAgreeTag];
233
+        if (btn.isSelected) {
234
+            if ([self.userViewModel checkRegisterOfUserViewModel]) {
235
+                [self requestRegister];
236
+            }
237
+        } else {
238
+            [SVProgressHUD showErrorWithStatus:@"请勾选用户注册协议"];
239
+        }
240
+    } else if (sender.tag == kHtmlTag) {
241
+        NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
242
+        NSString *appName = [infoDict objectForKey:@"CFBundleDisplayName"];
243
+        NSString *urlStr = [NSString stringWithFormat:@"https://x.zhuadd.com/protocol.html?appName=%@",appName];
244
+    } else if (sender.tag == kAgreeTag) {
245
+        sender.selected = !sender.isSelected;
201 246
     }
202 247
 }
203 248
 

+ 2 - 0
ACSION/Main/Module/User/C/ASUserLoginViewController.m

@@ -141,6 +141,7 @@ static NSInteger const kRegisterTag = 101;
141 141
         [[NSUserDefaults standardUserDefaults] setObject:dic[@"id"] forKey:USER_ID];
142 142
         [[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:@"ISPOP"];
143 143
         [[NSUserDefaults standardUserDefaults] synchronize];
144
+        [MiPushSDK setAccount:dic[@"user_token"]];
144 145
         [self.navigationController popViewControllerAnimated:YES];
145 146
     } failure:^(NSError *error) {
146 147
         
@@ -158,6 +159,7 @@ static NSInteger const kRegisterTag = 101;
158 159
         [[NSUserDefaults standardUserDefaults] setObject:dic[@"id"] forKey:USER_ID];
159 160
         [[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:@"ISPOP"];
160 161
         [[NSUserDefaults standardUserDefaults] synchronize];
162
+        [MiPushSDK setAccount:dic[@"user_token"]];
161 163
         [self.navigationController popViewControllerAnimated:YES];
162 164
     } failure:^(NSError *error) {
163 165
         

+ 1 - 1
ACSION/Main/Module/User/V/ASLoginInputTableViewCell.m

@@ -112,7 +112,7 @@ NSString *const kCellSendCode = @"CellSendCode";
112 112
             }
113 113
             if (indexPath.row == 2) {
114 114
                 self.sendBtn.hidden = NO;
115
-                    _timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];
115
+                [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startTime) name:kCellSendCode object:nil];
116 116
             }
117 117
             NSDictionary *dic = [viewModel registerParamsOfUserViewModel];
118 118
             NSDictionary *dict = [dic objectForKey:[NSString stringWithFormat:@"%ld",indexPath.row]];

+ 177 - 0
ACSION/Vendor/MI/MiPushSDK.h

@@ -0,0 +1,177 @@
1
+//
2
+//  MiPushSDK.h
3
+//  MiPushSDK
4
+//
5
+//  Created by shen yang on 14-3-6.
6
+//  Copyright (c) 2014年 Xiaomi. All rights reserved.
7
+//
8
+
9
+#import <Foundation/Foundation.h>
10
+#import <UIKit/UIKit.h>
11
+#import <UserNotifications/UserNotifications.h>
12
+
13
+@protocol MiPushSDKDelegate <NSObject>
14
+
15
+@optional
16
+
17
+/**
18
+ * MiPushSDK 请求结果回调
19
+ *
20
+ * MiPushSDK的所有请求的为异步操作, 用户需监听此方法.
21
+ *
22
+ * @param
23
+ *     selector: 请求的方法
24
+ *     data: 返回结果字典
25
+ */
26
+- (void)miPushRequestSuccWithSelector:(NSString *)selector data:(NSDictionary *)data;
27
+- (void)miPushRequestErrWithSelector:(NSString *)selector error:(int)error data:(NSDictionary *)data;
28
+
29
+
30
+/**
31
+ * 启用长连接后, 当收到消息是就会回调此方法
32
+ *
33
+ * @param
34
+ *     type: 消息类型
35
+ *     data: 返回结果字典, 跟apns的消息格式一样
36
+ */
37
+- (void)miPushReceiveNotification:(NSDictionary*)data;
38
+
39
+@end
40
+
41
+@interface MiPushSDK : NSObject
42
+
43
+/**
44
+ * 客户端注册设备
45
+ * @param 
46
+ *      delegate: 回调函数
47
+ *      type: apns推送类型. (Badge, Alert, Sound)
48
+ *      connect: 是否启动长连接, 它跟APNSs是不同的通道(不管是否启动系统推送, app在前台都可以收到在线或离线消息)
49
+ */
50
++ (void)registerMiPush:(id<MiPushSDKDelegate, UNUserNotificationCenterDelegate>)delegate;
51
++ (void)registerMiPush:(id<MiPushSDKDelegate, UNUserNotificationCenterDelegate>)delegate type:(UIRemoteNotificationType)type;
52
++ (void)registerMiPush:(id<MiPushSDKDelegate, UNUserNotificationCenterDelegate>)delegate type:(UIRemoteNotificationType)type connect:(BOOL)connect;
53
+
54
+/**
55
+ * 客户端设备注销
56
+ */
57
++ (void)unregisterMiPush;
58
+
59
+
60
+/**
61
+ * 绑定 PushDeviceToken
62
+ *
63
+ * NOTE: 有时Apple会重新分配token, 所以为保证消息可达,
64
+ * 必须在系统application:didRegisterForRemoteNotificationsWithDeviceToken:回调中,
65
+ * 重复调用此方法. SDK内部会处理是否重新上传服务器.
66
+ *
67
+ * @param 
68
+ *     deviceToken: AppDelegate中,PUSH注册成功后,
69
+ *                  系统回调didRegisterForRemoteNotificationsWithDeviceToken
70
+ */
71
++ (void)bindDeviceToken:(NSData *)deviceToken;
72
+
73
+/**
74
+ * 当同时启动APNs与内部长连接时, 把两处收到的消息合并. 通过miPushReceiveNotification返回
75
+ */
76
++ (void)handleReceiveRemoteNotification:(NSDictionary*)userInfo;
77
+
78
+/**
79
+ * 客户端设置别名
80
+ *
81
+ * @param
82
+ *     alias: 别名 (length:128)
83
+ */
84
++ (void)setAlias:(NSString *)alias;
85
+
86
+/**
87
+ * 客户端取消别名
88
+ *
89
+ * @param
90
+ *     alias: 别名 (length:128)
91
+ */
92
++ (void)unsetAlias:(NSString *)alias;
93
+
94
+
95
+/**
96
+ * 客户端设置帐号
97
+ * 多设备设置同一个帐号, 发送消息时多设备可以同时收到
98
+ *
99
+ * @param
100
+ *     account: 帐号 (length:128)
101
+ */
102
++ (void)setAccount:(NSString *)account;
103
+
104
+/**
105
+ * 客户端取消帐号
106
+ *
107
+ * @param
108
+ *     account: 帐号 (length:128)
109
+ */
110
++ (void)unsetAccount:(NSString *)account;
111
+
112
+
113
+/**
114
+ * 客户端设置主题
115
+ * 支持同时设置多个topic, 中间使用","分隔
116
+ *
117
+ * @param
118
+ *     subscribe: 主题类型描述
119
+ */
120
++ (void)subscribe:(NSString *)topics;
121
+
122
+/**
123
+ * 客户端取消主题
124
+ * 支持同时设置多个topic, 中间使用","分隔
125
+ *
126
+ * @param
127
+ *     subscribe: 主题类型描述
128
+ */
129
++ (void)unsubscribe:(NSString *)topics;
130
+
131
+
132
+/**
133
+ * 统计客户端 通过push开启app行为
134
+ * 如果, 你想使用服务器帮你统计你app的点击率请自行调用此方法
135
+ * 方法放到:application:didReceiveRemoteNotification:回调中.
136
+ * @param 
137
+ *      messageId:Payload里面对应的miid参数
138
+ */
139
++ (void)openAppNotify:(NSString *)messageId;
140
+
141
+
142
+/**
143
+ * NOTE 废弃. 请使用getAllAliasAsync替换
144
+ * 获取客户端所有设置的别名
145
+ */
146
++ (NSArray*)getAllAlias __deprecated;
147
+
148
+/**
149
+ * 获取客户端所有设置的别名
150
+ */
151
++ (void)getAllAliasAsync;
152
+
153
+/**
154
+ * NOTE 废弃. 请使用getAllTopicAsync替换
155
+ * 获取客户端所有订阅的主题
156
+ */
157
++ (NSArray*)getAllTopic __deprecated;
158
+
159
+/**
160
+ * 获取客户端所有订阅的主题
161
+ */
162
++ (void)getAllTopicAsync;
163
+
164
++ (void)getAllAccountAsync;
165
+
166
+
167
+/**
168
+ * 获取SDK版本号
169
+ */
170
++ (NSString*)getSDKVersion;
171
+
172
+/**
173
+ * 获取RegId
174
+ * 如果没有RegId返回nil
175
+ */
176
++ (NSString*)getRegId;
177
+@end

BIN
ACSION/Vendor/MI/libMiPushSDK.a