From cbc85a02d29448295a14e5da0b34eafafa2333b8 Mon Sep 17 00:00:00 2001 From: zu Date: Mon, 6 Sep 2021 18:47:38 +0800 Subject: [PATCH] xplan ios start --- .gitattributes | 1 + .gitignore | 68 ++ Podfile | 17 + Podfile.lock | 50 ++ xplan-ios.xcodeproj/project.pbxproj | 699 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + xplan-ios/AppDelegate.h | 15 + xplan-ios/AppDelegate.m | 26 + .../AccentColor.colorset/Contents.json | 11 + .../APP Store 1024_1024 (2).png | Bin 0 -> 400888 bytes .../AppIcon.appiconset/Contents.json | 62 ++ .../AppIcon.appiconset/Icon-60.png | Bin 0 -> 4238 bytes .../AppIcon.appiconset/Icon-60@2x-1.png | Bin 0 -> 12116 bytes .../AppIcon.appiconset/Icon-60@2x.png | Bin 0 -> 12116 bytes .../AppIcon.appiconset/Icon-60@3x.png | Bin 0 -> 21524 bytes .../AppIcon.appiconset/Icon-Small@2x.png | Bin 0 -> 4087 bytes .../AppIcon.appiconset/Icon-Small@3x.png | Bin 0 -> 7299 bytes .../AppIcon.appiconset/Icon-Spotlight-40.png | Bin 0 -> 2323 bytes .../Icon-Spotlight-40@2x.png | Bin 0 -> 6516 bytes .../Assets.xcassets/Common/Contents.json | 6 + .../Contents.json | 22 + .../common_checkbox_checked@2x.png | Bin 0 -> 696 bytes .../common_checkbox_checked@3x.png | Bin 0 -> 1515 bytes .../Contents.json | 22 + .../common_checkbox_uncheck@2x.png | Bin 0 -> 690 bytes .../common_checkbox_uncheck@3x.png | Bin 0 -> 1554 bytes .../common_loading.imageset/Contents.json | 22 + .../common_loading.imageset/loading@2x.png | Bin 0 -> 1355 bytes .../common_loading.imageset/loading@3x.png | Bin 0 -> 2209 bytes .../common_nav_back.imageset/Contents.json | 22 + .../common_nav_back@2x.png | Bin 0 -> 313 bytes .../common_nav_back@3x.png | Bin 0 -> 558 bytes xplan-ios/Assets.xcassets/Contents.json | 6 + xplan-ios/Assets.xcassets/Login/Contents.json | 6 + .../login_appIcon.imageset/Contents.json | 22 + .../login_appIcon@2x.png | Bin 0 -> 6008 bytes .../login_appIcon@3x.png | Bin 0 -> 10207 bytes .../login_auth_bubble.imageset/Contents.json | 22 + .../login_auth_bubble@2x.png | Bin 0 -> 1986 bytes .../login_auth_bubble@3x.png | Bin 0 -> 3901 bytes .../ChinaMobile_icon@2x.png | Bin 0 -> 12787 bytes .../ChinaMobile_icon@3x.png | Bin 0 -> 26186 bytes .../login_china_mobile.imageset/Contents.json | 22 + .../login_ct_mobile.imageset/Contents.json | 22 + .../ctmobile_icon@2x.png | Bin 0 -> 29474 bytes .../ctmobile_icon@3x.png | Bin 0 -> 56339 bytes .../Login/login_phone.imageset/Contents.json | 22 + .../Login/login_phone.imageset/phone@2x.png | Bin 0 -> 4393 bytes .../Login/login_phone.imageset/phone@3x.png | Bin 0 -> 9694 bytes .../Login/login_qq.imageset/Contents.json | 22 + .../Login/login_qq.imageset/qq@2x.png | Bin 0 -> 5608 bytes .../Login/login_qq.imageset/qq@3x.png | Bin 0 -> 11877 bytes .../Contents.json | 22 + .../unicomMobile_icon@2x.png | Bin 0 -> 5011 bytes .../unicomMobile_icon@3x.png | Bin 0 -> 6696 bytes .../Login/login_wechat.imageset/Contents.json | 22 + .../Login/login_wechat.imageset/wechat@2x.png | Bin 0 -> 4594 bytes .../Login/login_wechat.imageset/wechat@3x.png | Bin 0 -> 10554 bytes xplan-ios/Base.lproj/LaunchScreen.storyboard | 25 + xplan-ios/Base/Base.pch | 63 ++ xplan-ios/Base/Net/ApiHost.h | 17 + xplan-ios/Base/Net/HttpRequestHelper.h | 59 ++ xplan-ios/Base/Net/HttpRequestHelper.m | 170 +++++ xplan-ios/Base/Tool/GCDHelper/GCDHelper.h | 11 + xplan-ios/Base/Tool/GCDHelper/GCDHelper.m | 16 + xplan-ios/Base/Tool/KeyChain/SSKeychain.h | 357 +++++++++ xplan-ios/Base/Tool/KeyChain/SSKeychain.m | 262 +++++++ .../Base/Tool/Reachability/YYReachability.h | 109 +++ .../Base/Tool/Reachability/YYReachability.m | 527 +++++++++++++ .../Base/Tool/YYUtility/CarrierIdentifier.h | 21 + xplan-ios/Base/Tool/YYUtility/YYUtility+App.m | 141 ++++ .../Base/Tool/YYUtility/YYUtility+Carrier.m | 88 +++ .../Base/Tool/YYUtility/YYUtility+Device.m | 538 ++++++++++++++ xplan-ios/Base/Tool/YYUtility/YYUtility.h | 225 ++++++ xplan-ios/Base/Tool/YYUtility/YYUtility.m | 13 + xplan-ios/Base/UI/BaseViewController.h | 38 + xplan-ios/Base/UI/BaseViewController.m | 70 ++ xplan-ios/Base/UI/UIImage+Utils.h | 43 ++ xplan-ios/Base/UI/UIImage+Utils.m | 301 ++++++++ xplan-ios/Base/UI/XCHUDTool.h | 134 ++++ xplan-ios/Base/UI/XCHUDTool.m | 284 +++++++ xplan-ios/Info.plist | 54 ++ xplan-ios/Main/Login/Api/Api+Login.h | 18 + xplan-ios/Main/Login/Api/Api+Login.m | 18 + .../Main/Login/Presenter/LoginPresenter.h | 18 + .../Main/Login/Presenter/LoginPresenter.m | 26 + xplan-ios/Main/Login/Protocol/LoginProtocol.h | 18 + .../Main/Login/View/LoginViewController.h | 16 + .../Main/Login/View/LoginViewController.m | 578 +++++++++++++++ xplan-ios/Main/MVP/Api/Api.h | 25 + xplan-ios/Main/MVP/Api/Api.m | 39 + .../Main/MVP/Presenter/BaseMvpPresenter.h | 26 + .../Main/MVP/Presenter/BaseMvpPresenter.m | 60 ++ xplan-ios/Main/MVP/Protocol/BaseMvpProtocol.h | 19 + xplan-ios/Main/MVP/View/MvpViewController.h | 21 + xplan-ios/Main/MVP/View/MvpViewController.m | 45 ++ xplan-ios/Main/TabbarViewController.h | 13 + xplan-ios/Main/TabbarViewController.m | 22 + xplan-ios/main.m | 18 + 103 files changed, 5818 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Podfile create mode 100644 Podfile.lock create mode 100644 xplan-ios.xcodeproj/project.pbxproj create mode 100644 xplan-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 xplan-ios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 xplan-ios.xcworkspace/contents.xcworkspacedata create mode 100644 xplan-ios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 xplan-ios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 xplan-ios/AppDelegate.h create mode 100644 xplan-ios/AppDelegate.m create mode 100644 xplan-ios/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/APP Store 1024_1024 (2).png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-60.png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-60@2x-1.png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png create mode 100644 xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png create mode 100644 xplan-ios/Assets.xcassets/Common/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Common/common_checkbox_checked.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Common/common_checkbox_checked.imageset/common_checkbox_checked@2x.png create mode 100644 xplan-ios/Assets.xcassets/Common/common_checkbox_checked.imageset/common_checkbox_checked@3x.png create mode 100644 xplan-ios/Assets.xcassets/Common/common_checkbox_uncheck.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Common/common_checkbox_uncheck.imageset/common_checkbox_uncheck@2x.png create mode 100644 xplan-ios/Assets.xcassets/Common/common_checkbox_uncheck.imageset/common_checkbox_uncheck@3x.png create mode 100644 xplan-ios/Assets.xcassets/Common/common_loading.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Common/common_loading.imageset/loading@2x.png create mode 100644 xplan-ios/Assets.xcassets/Common/common_loading.imageset/loading@3x.png create mode 100644 xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@2x.png create mode 100644 xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@3x.png create mode 100644 xplan-ios/Assets.xcassets/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/login_appIcon@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/login_appIcon@3x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/login_auth_bubble@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/login_auth_bubble@3x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_china_mobile.imageset/ChinaMobile_icon@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_china_mobile.imageset/ChinaMobile_icon@3x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_china_mobile.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_ct_mobile.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_ct_mobile.imageset/ctmobile_icon@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_ct_mobile.imageset/ctmobile_icon@3x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_phone.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_phone.imageset/phone@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_phone.imageset/phone@3x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_qq.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_qq.imageset/qq@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_qq.imageset/qq@3x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/unicomMobile_icon@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/unicomMobile_icon@3x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_wechat.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Login/login_wechat.imageset/wechat@2x.png create mode 100644 xplan-ios/Assets.xcassets/Login/login_wechat.imageset/wechat@3x.png create mode 100644 xplan-ios/Base.lproj/LaunchScreen.storyboard create mode 100644 xplan-ios/Base/Base.pch create mode 100644 xplan-ios/Base/Net/ApiHost.h create mode 100644 xplan-ios/Base/Net/HttpRequestHelper.h create mode 100644 xplan-ios/Base/Net/HttpRequestHelper.m create mode 100644 xplan-ios/Base/Tool/GCDHelper/GCDHelper.h create mode 100644 xplan-ios/Base/Tool/GCDHelper/GCDHelper.m create mode 100755 xplan-ios/Base/Tool/KeyChain/SSKeychain.h create mode 100755 xplan-ios/Base/Tool/KeyChain/SSKeychain.m create mode 100644 xplan-ios/Base/Tool/Reachability/YYReachability.h create mode 100644 xplan-ios/Base/Tool/Reachability/YYReachability.m create mode 100644 xplan-ios/Base/Tool/YYUtility/CarrierIdentifier.h create mode 100644 xplan-ios/Base/Tool/YYUtility/YYUtility+App.m create mode 100644 xplan-ios/Base/Tool/YYUtility/YYUtility+Carrier.m create mode 100644 xplan-ios/Base/Tool/YYUtility/YYUtility+Device.m create mode 100644 xplan-ios/Base/Tool/YYUtility/YYUtility.h create mode 100644 xplan-ios/Base/Tool/YYUtility/YYUtility.m create mode 100644 xplan-ios/Base/UI/BaseViewController.h create mode 100644 xplan-ios/Base/UI/BaseViewController.m create mode 100644 xplan-ios/Base/UI/UIImage+Utils.h create mode 100644 xplan-ios/Base/UI/UIImage+Utils.m create mode 100644 xplan-ios/Base/UI/XCHUDTool.h create mode 100644 xplan-ios/Base/UI/XCHUDTool.m create mode 100644 xplan-ios/Info.plist create mode 100644 xplan-ios/Main/Login/Api/Api+Login.h create mode 100644 xplan-ios/Main/Login/Api/Api+Login.m create mode 100644 xplan-ios/Main/Login/Presenter/LoginPresenter.h create mode 100644 xplan-ios/Main/Login/Presenter/LoginPresenter.m create mode 100644 xplan-ios/Main/Login/Protocol/LoginProtocol.h create mode 100644 xplan-ios/Main/Login/View/LoginViewController.h create mode 100644 xplan-ios/Main/Login/View/LoginViewController.m create mode 100644 xplan-ios/Main/MVP/Api/Api.h create mode 100644 xplan-ios/Main/MVP/Api/Api.m create mode 100644 xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.h create mode 100644 xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.m create mode 100644 xplan-ios/Main/MVP/Protocol/BaseMvpProtocol.h create mode 100644 xplan-ios/Main/MVP/View/MvpViewController.h create mode 100644 xplan-ios/Main/MVP/View/MvpViewController.m create mode 100644 xplan-ios/Main/TabbarViewController.h create mode 100644 xplan-ios/Main/TabbarViewController.m create mode 100644 xplan-ios/main.m diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..746a8ad0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +Flutter filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..160a0d0f --- /dev/null +++ b/.gitignore @@ -0,0 +1,68 @@ +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# +Pods/ +# +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ diff --git a/Podfile b/Podfile new file mode 100644 index 00000000..e1334fc8 --- /dev/null +++ b/Podfile @@ -0,0 +1,17 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'xplan-ios' do + # Comment the next line if you don't want to use dynamic frameworks + use_frameworks! + + # Pods for xplan-ios + pod 'AFNetworking' + pod 'YYText' + pod 'Masonry' + pod 'ReactiveObjC' + pod 'MBProgressHUD' + #易盾 本机一键登录 + pod 'NTESQuickPass', '~> 2.1.6' + +end diff --git a/Podfile.lock b/Podfile.lock new file mode 100644 index 00000000..c876a118 --- /dev/null +++ b/Podfile.lock @@ -0,0 +1,50 @@ +PODS: + - AFNetworking (4.0.1): + - AFNetworking/NSURLSession (= 4.0.1) + - AFNetworking/Reachability (= 4.0.1) + - AFNetworking/Security (= 4.0.1) + - AFNetworking/Serialization (= 4.0.1) + - AFNetworking/UIKit (= 4.0.1) + - AFNetworking/NSURLSession (4.0.1): + - AFNetworking/Reachability + - AFNetworking/Security + - AFNetworking/Serialization + - AFNetworking/Reachability (4.0.1) + - AFNetworking/Security (4.0.1) + - AFNetworking/Serialization (4.0.1) + - AFNetworking/UIKit (4.0.1): + - AFNetworking/NSURLSession + - Masonry (1.1.0) + - MBProgressHUD (1.2.0) + - NTESQuickPass (2.1.9) + - ReactiveObjC (3.1.1) + - YYText (1.0.7) + +DEPENDENCIES: + - AFNetworking + - Masonry + - MBProgressHUD + - NTESQuickPass (~> 2.1.6) + - ReactiveObjC + - YYText + +SPEC REPOS: + trunk: + - AFNetworking + - Masonry + - MBProgressHUD + - NTESQuickPass + - ReactiveObjC + - YYText + +SPEC CHECKSUMS: + AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce + Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 + MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406 + NTESQuickPass: 8431dc52737c95883cd382c2ee75664d58f39377 + ReactiveObjC: 011caa393aa0383245f2dcf9bf02e86b80b36040 + YYText: 5c461d709e24d55a182d1441c41dc639a18a4849 + +PODFILE CHECKSUM: f8d8c44df1ae85a1571fe37ee767fc992db1ff6b + +COCOAPODS: 1.10.1 diff --git a/xplan-ios.xcodeproj/project.pbxproj b/xplan-ios.xcodeproj/project.pbxproj new file mode 100644 index 00000000..aec1b597 --- /dev/null +++ b/xplan-ios.xcodeproj/project.pbxproj @@ -0,0 +1,699 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + 189DD52E26DE255300AB55B1 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD52D26DE255300AB55B1 /* AppDelegate.m */; }; + 189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD53326DE255300AB55B1 /* TabbarViewController.m */; }; + 189DD53926DE255600AB55B1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 189DD53826DE255600AB55B1 /* Assets.xcassets */; }; + 189DD53C26DE255600AB55B1 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 189DD53A26DE255600AB55B1 /* LaunchScreen.storyboard */; }; + 189DD53F26DE255600AB55B1 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD53E26DE255600AB55B1 /* main.m */; }; + 189DD54B26DE338800AB55B1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD54A26DE338800AB55B1 /* BaseViewController.m */; }; + 189DD55026DE37F900AB55B1 /* MvpViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD54F26DE37F900AB55B1 /* MvpViewController.m */; }; + 189DD55A26DE39D200AB55B1 /* BaseMvpPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD55926DE39D200AB55B1 /* BaseMvpPresenter.m */; }; + 189DD56526DE465A00AB55B1 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD56426DE465A00AB55B1 /* LoginViewController.m */; }; + 189DD58F26DF97E700AB55B1 /* LoginPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD58E26DF97E700AB55B1 /* LoginPresenter.m */; }; + 189DD67E26E1FD8900AB55B1 /* UIImage+Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD67D26E1FD8900AB55B1 /* UIImage+Utils.m */; }; + 189DD68426E1FDBB00AB55B1 /* XCHUDTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD68226E1FDBB00AB55B1 /* XCHUDTool.m */; }; + 189DD6FF26E20E5900AB55B1 /* HttpRequestHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD6FE26E20E5900AB55B1 /* HttpRequestHelper.m */; }; + 189DD73D26E21C3F00AB55B1 /* YYUtility+Device.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD73826E21C3F00AB55B1 /* YYUtility+Device.m */; }; + 189DD73E26E21C3F00AB55B1 /* YYUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD73926E21C3F00AB55B1 /* YYUtility.m */; }; + 189DD73F26E21C3F00AB55B1 /* YYUtility+Carrier.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD73A26E21C3F00AB55B1 /* YYUtility+Carrier.m */; }; + 189DD74026E21C3F00AB55B1 /* YYUtility+App.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD73B26E21C3F00AB55B1 /* YYUtility+App.m */; }; + 189DD74526E21CCC00AB55B1 /* YYReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD74426E21CCC00AB55B1 /* YYReachability.m */; }; + 189DD74A26E21D8400AB55B1 /* SSKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD74926E21D8400AB55B1 /* SSKeychain.m */; }; + 189DD75026E21D9000AB55B1 /* GCDHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD74E26E21D9000AB55B1 /* GCDHelper.m */; }; + 189DD75926E6003C00AB55B1 /* Api.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD75826E6003C00AB55B1 /* Api.m */; }; + 189DD76226E60DDC00AB55B1 /* Api+Login.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD76126E60DDC00AB55B1 /* Api+Login.m */; }; + 73FFADDC93E195344047A2EC /* Pods_xplan_ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CACF623970097D653132D69A /* Pods_xplan_ios.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 189DD52926DE255300AB55B1 /* xplan-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "xplan-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 189DD52C26DE255300AB55B1 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 189DD52D26DE255300AB55B1 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 189DD53226DE255300AB55B1 /* TabbarViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TabbarViewController.h; sourceTree = ""; }; + 189DD53326DE255300AB55B1 /* TabbarViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TabbarViewController.m; sourceTree = ""; }; + 189DD53826DE255600AB55B1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 189DD53B26DE255600AB55B1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 189DD53D26DE255600AB55B1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 189DD53E26DE255600AB55B1 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 189DD54926DE338800AB55B1 /* BaseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = ""; }; + 189DD54A26DE338800AB55B1 /* BaseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = ""; }; + 189DD54E26DE37F900AB55B1 /* MvpViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvpViewController.h; sourceTree = ""; }; + 189DD54F26DE37F900AB55B1 /* MvpViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MvpViewController.m; sourceTree = ""; }; + 189DD55826DE39D200AB55B1 /* BaseMvpPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseMvpPresenter.h; sourceTree = ""; }; + 189DD55926DE39D200AB55B1 /* BaseMvpPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BaseMvpPresenter.m; sourceTree = ""; }; + 189DD55E26DE3BBE00AB55B1 /* BaseMvpProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseMvpProtocol.h; sourceTree = ""; }; + 189DD56326DE465A00AB55B1 /* LoginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = ""; }; + 189DD56426DE465A00AB55B1 /* LoginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = ""; }; + 189DD57226DF5F0C00AB55B1 /* Base.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Base.pch; sourceTree = ""; }; + 189DD58D26DF97E700AB55B1 /* LoginPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginPresenter.h; sourceTree = ""; }; + 189DD58E26DF97E700AB55B1 /* LoginPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoginPresenter.m; sourceTree = ""; }; + 189DD59426DF986300AB55B1 /* LoginProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginProtocol.h; sourceTree = ""; }; + 189DD67C26E1FD8900AB55B1 /* UIImage+Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Utils.h"; sourceTree = ""; }; + 189DD67D26E1FD8900AB55B1 /* UIImage+Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Utils.m"; sourceTree = ""; }; + 189DD68226E1FDBB00AB55B1 /* XCHUDTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XCHUDTool.m; sourceTree = ""; }; + 189DD68326E1FDBB00AB55B1 /* XCHUDTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XCHUDTool.h; sourceTree = ""; }; + 189DD6FD26E20E5900AB55B1 /* HttpRequestHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HttpRequestHelper.h; sourceTree = ""; }; + 189DD6FE26E20E5900AB55B1 /* HttpRequestHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HttpRequestHelper.m; sourceTree = ""; }; + 189DD73726E21C3F00AB55B1 /* CarrierIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CarrierIdentifier.h; sourceTree = ""; }; + 189DD73826E21C3F00AB55B1 /* YYUtility+Device.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "YYUtility+Device.m"; sourceTree = ""; }; + 189DD73926E21C3F00AB55B1 /* YYUtility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YYUtility.m; sourceTree = ""; }; + 189DD73A26E21C3F00AB55B1 /* YYUtility+Carrier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "YYUtility+Carrier.m"; sourceTree = ""; }; + 189DD73B26E21C3F00AB55B1 /* YYUtility+App.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "YYUtility+App.m"; sourceTree = ""; }; + 189DD73C26E21C3F00AB55B1 /* YYUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YYUtility.h; sourceTree = ""; }; + 189DD74326E21CCC00AB55B1 /* YYReachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YYReachability.h; sourceTree = ""; }; + 189DD74426E21CCC00AB55B1 /* YYReachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YYReachability.m; sourceTree = ""; }; + 189DD74826E21D8400AB55B1 /* SSKeychain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSKeychain.h; sourceTree = ""; }; + 189DD74926E21D8400AB55B1 /* SSKeychain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSKeychain.m; sourceTree = ""; }; + 189DD74E26E21D9000AB55B1 /* GCDHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDHelper.m; sourceTree = ""; }; + 189DD74F26E21D9000AB55B1 /* GCDHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDHelper.h; sourceTree = ""; }; + 189DD75726E6003C00AB55B1 /* Api.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Api.h; sourceTree = ""; }; + 189DD75826E6003C00AB55B1 /* Api.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Api.m; sourceTree = ""; }; + 189DD76026E60DDC00AB55B1 /* Api+Login.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+Login.h"; sourceTree = ""; }; + 189DD76126E60DDC00AB55B1 /* Api+Login.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+Login.m"; sourceTree = ""; }; + 189DD78026E620FE00AB55B1 /* ApiHost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ApiHost.h; sourceTree = ""; }; + 7DB00EC07F1D0ADFF900B38D /* Pods-xplan-ios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-xplan-ios.debug.xcconfig"; path = "Target Support Files/Pods-xplan-ios/Pods-xplan-ios.debug.xcconfig"; sourceTree = ""; }; + B66633E061B1B34177CD011C /* Pods-xplan-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-xplan-ios.release.xcconfig"; path = "Target Support Files/Pods-xplan-ios/Pods-xplan-ios.release.xcconfig"; sourceTree = ""; }; + CACF623970097D653132D69A /* Pods_xplan_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_xplan_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 189DD52626DE255300AB55B1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 73FFADDC93E195344047A2EC /* Pods_xplan_ios.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 187EEEA926E62679002833B2 /* Api */ = { + isa = PBXGroup; + children = ( + 189DD75726E6003C00AB55B1 /* Api.h */, + 189DD75826E6003C00AB55B1 /* Api.m */, + ); + path = Api; + sourceTree = ""; + }; + 189DD52026DE255300AB55B1 = { + isa = PBXGroup; + children = ( + 189DD52B26DE255300AB55B1 /* xplan-ios */, + 189DD52A26DE255300AB55B1 /* Products */, + D09C770DC30B9BAAEAFC7945 /* Pods */, + BFB922F5D81845AC32D1E1ED /* Frameworks */, + ); + sourceTree = ""; + }; + 189DD52A26DE255300AB55B1 /* Products */ = { + isa = PBXGroup; + children = ( + 189DD52926DE255300AB55B1 /* xplan-ios.app */, + ); + name = Products; + sourceTree = ""; + }; + 189DD52B26DE255300AB55B1 /* xplan-ios */ = { + isa = PBXGroup; + children = ( + 189DD56B26DF5B0900AB55B1 /* Base */, + 189DD56126DE45F800AB55B1 /* Main */, + 189DD52C26DE255300AB55B1 /* AppDelegate.h */, + 189DD52D26DE255300AB55B1 /* AppDelegate.m */, + 189DD53826DE255600AB55B1 /* Assets.xcassets */, + 189DD53A26DE255600AB55B1 /* LaunchScreen.storyboard */, + 189DD53D26DE255600AB55B1 /* Info.plist */, + 189DD53E26DE255600AB55B1 /* main.m */, + ); + path = "xplan-ios"; + sourceTree = ""; + }; + 189DD54826DE327B00AB55B1 /* MVP */ = { + isa = PBXGroup; + children = ( + 187EEEA926E62679002833B2 /* Api */, + 189DD56026DE456100AB55B1 /* Model */, + 189DD55326DE382E00AB55B1 /* View */, + 189DD55726DE398A00AB55B1 /* Presenter */, + 189DD55D26DE3BA300AB55B1 /* Protocol */, + ); + path = MVP; + sourceTree = ""; + }; + 189DD55326DE382E00AB55B1 /* View */ = { + isa = PBXGroup; + children = ( + 189DD54E26DE37F900AB55B1 /* MvpViewController.h */, + 189DD54F26DE37F900AB55B1 /* MvpViewController.m */, + ); + path = View; + sourceTree = ""; + }; + 189DD55726DE398A00AB55B1 /* Presenter */ = { + isa = PBXGroup; + children = ( + 189DD55826DE39D200AB55B1 /* BaseMvpPresenter.h */, + 189DD55926DE39D200AB55B1 /* BaseMvpPresenter.m */, + ); + path = Presenter; + sourceTree = ""; + }; + 189DD55D26DE3BA300AB55B1 /* Protocol */ = { + isa = PBXGroup; + children = ( + 189DD55E26DE3BBE00AB55B1 /* BaseMvpProtocol.h */, + ); + path = Protocol; + sourceTree = ""; + }; + 189DD56026DE456100AB55B1 /* Model */ = { + isa = PBXGroup; + children = ( + ); + path = Model; + sourceTree = ""; + }; + 189DD56126DE45F800AB55B1 /* Main */ = { + isa = PBXGroup; + children = ( + 189DD54826DE327B00AB55B1 /* MVP */, + 189DD56226DE460400AB55B1 /* Login */, + 189DD53226DE255300AB55B1 /* TabbarViewController.h */, + 189DD53326DE255300AB55B1 /* TabbarViewController.m */, + ); + path = Main; + sourceTree = ""; + }; + 189DD56226DE460400AB55B1 /* Login */ = { + isa = PBXGroup; + children = ( + 189DD75326E2211000AB55B1 /* Api */, + 189DD58926DF977D00AB55B1 /* Model */, + 189DD58A26DF978700AB55B1 /* View */, + 189DD58B26DF978F00AB55B1 /* Presenter */, + 189DD59126DF97F600AB55B1 /* Protocol */, + ); + path = Login; + sourceTree = ""; + }; + 189DD56B26DF5B0900AB55B1 /* Base */ = { + isa = PBXGroup; + children = ( + 189DD61E26E0ED0100AB55B1 /* Net */, + 189DD5A726DFA09700AB55B1 /* Tool */, + 189DD56C26DF5B5400AB55B1 /* UI */, + 189DD57226DF5F0C00AB55B1 /* Base.pch */, + ); + path = Base; + sourceTree = ""; + }; + 189DD56C26DF5B5400AB55B1 /* UI */ = { + isa = PBXGroup; + children = ( + 189DD54926DE338800AB55B1 /* BaseViewController.h */, + 189DD54A26DE338800AB55B1 /* BaseViewController.m */, + 189DD67C26E1FD8900AB55B1 /* UIImage+Utils.h */, + 189DD67D26E1FD8900AB55B1 /* UIImage+Utils.m */, + 189DD68326E1FDBB00AB55B1 /* XCHUDTool.h */, + 189DD68226E1FDBB00AB55B1 /* XCHUDTool.m */, + ); + path = UI; + sourceTree = ""; + }; + 189DD58926DF977D00AB55B1 /* Model */ = { + isa = PBXGroup; + children = ( + ); + path = Model; + sourceTree = ""; + }; + 189DD58A26DF978700AB55B1 /* View */ = { + isa = PBXGroup; + children = ( + 189DD56326DE465A00AB55B1 /* LoginViewController.h */, + 189DD56426DE465A00AB55B1 /* LoginViewController.m */, + ); + path = View; + sourceTree = ""; + }; + 189DD58B26DF978F00AB55B1 /* Presenter */ = { + isa = PBXGroup; + children = ( + 189DD58D26DF97E700AB55B1 /* LoginPresenter.h */, + 189DD58E26DF97E700AB55B1 /* LoginPresenter.m */, + ); + path = Presenter; + sourceTree = ""; + }; + 189DD59126DF97F600AB55B1 /* Protocol */ = { + isa = PBXGroup; + children = ( + 189DD59426DF986300AB55B1 /* LoginProtocol.h */, + ); + path = Protocol; + sourceTree = ""; + }; + 189DD5A726DFA09700AB55B1 /* Tool */ = { + isa = PBXGroup; + children = ( + 189DD74D26E21D9000AB55B1 /* GCDHelper */, + 189DD74726E21D8400AB55B1 /* KeyChain */, + 189DD74226E21CCC00AB55B1 /* Reachability */, + 189DD73626E21C3F00AB55B1 /* YYUtility */, + ); + path = Tool; + sourceTree = ""; + }; + 189DD61E26E0ED0100AB55B1 /* Net */ = { + isa = PBXGroup; + children = ( + 189DD78026E620FE00AB55B1 /* ApiHost.h */, + 189DD6FD26E20E5900AB55B1 /* HttpRequestHelper.h */, + 189DD6FE26E20E5900AB55B1 /* HttpRequestHelper.m */, + ); + path = Net; + sourceTree = ""; + }; + 189DD73626E21C3F00AB55B1 /* YYUtility */ = { + isa = PBXGroup; + children = ( + 189DD73726E21C3F00AB55B1 /* CarrierIdentifier.h */, + 189DD73C26E21C3F00AB55B1 /* YYUtility.h */, + 189DD73926E21C3F00AB55B1 /* YYUtility.m */, + 189DD73B26E21C3F00AB55B1 /* YYUtility+App.m */, + 189DD73A26E21C3F00AB55B1 /* YYUtility+Carrier.m */, + 189DD73826E21C3F00AB55B1 /* YYUtility+Device.m */, + ); + path = YYUtility; + sourceTree = ""; + }; + 189DD74226E21CCC00AB55B1 /* Reachability */ = { + isa = PBXGroup; + children = ( + 189DD74326E21CCC00AB55B1 /* YYReachability.h */, + 189DD74426E21CCC00AB55B1 /* YYReachability.m */, + ); + path = Reachability; + sourceTree = ""; + }; + 189DD74726E21D8400AB55B1 /* KeyChain */ = { + isa = PBXGroup; + children = ( + 189DD74826E21D8400AB55B1 /* SSKeychain.h */, + 189DD74926E21D8400AB55B1 /* SSKeychain.m */, + ); + path = KeyChain; + sourceTree = ""; + }; + 189DD74D26E21D9000AB55B1 /* GCDHelper */ = { + isa = PBXGroup; + children = ( + 189DD74E26E21D9000AB55B1 /* GCDHelper.m */, + 189DD74F26E21D9000AB55B1 /* GCDHelper.h */, + ); + path = GCDHelper; + sourceTree = ""; + }; + 189DD75326E2211000AB55B1 /* Api */ = { + isa = PBXGroup; + children = ( + 189DD76026E60DDC00AB55B1 /* Api+Login.h */, + 189DD76126E60DDC00AB55B1 /* Api+Login.m */, + ); + path = Api; + sourceTree = ""; + }; + BFB922F5D81845AC32D1E1ED /* Frameworks */ = { + isa = PBXGroup; + children = ( + CACF623970097D653132D69A /* Pods_xplan_ios.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + D09C770DC30B9BAAEAFC7945 /* Pods */ = { + isa = PBXGroup; + children = ( + 7DB00EC07F1D0ADFF900B38D /* Pods-xplan-ios.debug.xcconfig */, + B66633E061B1B34177CD011C /* Pods-xplan-ios.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 189DD52826DE255300AB55B1 /* xplan-ios */ = { + isa = PBXNativeTarget; + buildConfigurationList = 189DD54226DE255600AB55B1 /* Build configuration list for PBXNativeTarget "xplan-ios" */; + buildPhases = ( + 1865B406E358C680125F108D /* [CP] Check Pods Manifest.lock */, + 189DD52526DE255300AB55B1 /* Sources */, + 189DD52626DE255300AB55B1 /* Frameworks */, + 189DD52726DE255300AB55B1 /* Resources */, + 8311720C3643AC2030B96510 /* [CP] Embed Pods Frameworks */, + 4C25F8F9E2D1F501119C383D /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "xplan-ios"; + productName = "xplan-ios"; + productReference = 189DD52926DE255300AB55B1 /* xplan-ios.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 189DD52126DE255300AB55B1 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1240; + TargetAttributes = { + 189DD52826DE255300AB55B1 = { + CreatedOnToolsVersion = 12.4; + }; + }; + }; + buildConfigurationList = 189DD52426DE255300AB55B1 /* Build configuration list for PBXProject "xplan-ios" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 189DD52026DE255300AB55B1; + productRefGroup = 189DD52A26DE255300AB55B1 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 189DD52826DE255300AB55B1 /* xplan-ios */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 189DD52726DE255300AB55B1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 189DD53C26DE255600AB55B1 /* LaunchScreen.storyboard in Resources */, + 189DD53926DE255600AB55B1 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 1865B406E358C680125F108D /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-xplan-ios-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 4C25F8F9E2D1F501119C383D /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-xplan-ios/Pods-xplan-ios-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-xplan-ios/Pods-xplan-ios-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-xplan-ios/Pods-xplan-ios-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 8311720C3643AC2030B96510 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-xplan-ios/Pods-xplan-ios-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-xplan-ios/Pods-xplan-ios-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-xplan-ios/Pods-xplan-ios-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 189DD52526DE255300AB55B1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 189DD76226E60DDC00AB55B1 /* Api+Login.m in Sources */, + 189DD73E26E21C3F00AB55B1 /* YYUtility.m in Sources */, + 189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */, + 189DD55A26DE39D200AB55B1 /* BaseMvpPresenter.m in Sources */, + 189DD6FF26E20E5900AB55B1 /* HttpRequestHelper.m in Sources */, + 189DD74A26E21D8400AB55B1 /* SSKeychain.m in Sources */, + 189DD68426E1FDBB00AB55B1 /* XCHUDTool.m in Sources */, + 189DD73F26E21C3F00AB55B1 /* YYUtility+Carrier.m in Sources */, + 189DD54B26DE338800AB55B1 /* BaseViewController.m in Sources */, + 189DD67E26E1FD8900AB55B1 /* UIImage+Utils.m in Sources */, + 189DD52E26DE255300AB55B1 /* AppDelegate.m in Sources */, + 189DD56526DE465A00AB55B1 /* LoginViewController.m in Sources */, + 189DD73D26E21C3F00AB55B1 /* YYUtility+Device.m in Sources */, + 189DD74026E21C3F00AB55B1 /* YYUtility+App.m in Sources */, + 189DD74526E21CCC00AB55B1 /* YYReachability.m in Sources */, + 189DD75026E21D9000AB55B1 /* GCDHelper.m in Sources */, + 189DD75926E6003C00AB55B1 /* Api.m in Sources */, + 189DD53F26DE255600AB55B1 /* main.m in Sources */, + 189DD58F26DF97E700AB55B1 /* LoginPresenter.m in Sources */, + 189DD55026DE37F900AB55B1 /* MvpViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 189DD53A26DE255600AB55B1 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 189DD53B26DE255600AB55B1 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 189DD54026DE255600AB55B1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 189DD54126DE255600AB55B1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 189DD54326DE255600AB55B1 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7DB00EC07F1D0ADFF900B38D /* Pods-xplan-ios.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 48UCG35Q9W; + GCC_PREFIX_HEADER = "xplan-ios/Base/Base.pch"; + INFOPLIST_FILE = "xplan-ios/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 3.1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 189DD54426DE255600AB55B1 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B66633E061B1B34177CD011C /* Pods-xplan-ios.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 48UCG35Q9W; + GCC_PREFIX_HEADER = "xplan-ios/Base/Base.pch"; + INFOPLIST_FILE = "xplan-ios/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 3.1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 189DD52426DE255300AB55B1 /* Build configuration list for PBXProject "xplan-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 189DD54026DE255600AB55B1 /* Debug */, + 189DD54126DE255600AB55B1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 189DD54226DE255600AB55B1 /* Build configuration list for PBXNativeTarget "xplan-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 189DD54326DE255600AB55B1 /* Debug */, + 189DD54426DE255600AB55B1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 189DD52126DE255300AB55B1 /* Project object */; +} diff --git a/xplan-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/xplan-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/xplan-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/xplan-ios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/xplan-ios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/xplan-ios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/xplan-ios.xcworkspace/contents.xcworkspacedata b/xplan-ios.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..9f98a206 --- /dev/null +++ b/xplan-ios.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/xplan-ios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/xplan-ios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/xplan-ios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/xplan-ios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/xplan-ios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/xplan-ios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/xplan-ios/AppDelegate.h b/xplan-ios/AppDelegate.h new file mode 100644 index 00000000..dde3a8ab --- /dev/null +++ b/xplan-ios/AppDelegate.h @@ -0,0 +1,15 @@ +// +// AppDelegate.h +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end + diff --git a/xplan-ios/AppDelegate.m b/xplan-ios/AppDelegate.m new file mode 100644 index 00000000..59247fa1 --- /dev/null +++ b/xplan-ios/AppDelegate.m @@ -0,0 +1,26 @@ +// +// AppDelegate.m +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "AppDelegate.h" +#import "TabbarViewController.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + TabbarViewController *vc = [[TabbarViewController alloc] init]; + UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + self.window.rootViewController = nav; + [self.window makeKeyAndVisible]; + return YES; +} + +@end diff --git a/xplan-ios/Assets.xcassets/AccentColor.colorset/Contents.json b/xplan-ios/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/xplan-ios/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/AppIcon.appiconset/APP Store 1024_1024 (2).png b/xplan-ios/Assets.xcassets/AppIcon.appiconset/APP Store 1024_1024 (2).png new file mode 100644 index 0000000000000000000000000000000000000000..5352c5234056229313651707d5331b9a35a6fad7 GIT binary patch literal 400888 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

aPuU?<-?ZS<@59`ExRYWB7h-xSmJ&X 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

v=)Fw;4uA|#NRO00hnrSCnCoj- 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 LNkvXXu0mjfFcfUL literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8a3d2cb1aa0a298c1d94224055e53ad1e34cb8fa GIT binary patch literal 4087 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 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e68ccabe8a01aa3a062ff37770446118814b9669 GIT binary patch literal 7299 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 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png b/xplan-ios/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c11ca7c1302b28a6b5be80a46236ded8327ae7 GIT binary patch literal 2323 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 YAN6oF;G!H(lmGw#07*qoM6N<$g1l=(^#A|> literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Common/common_checkbox_uncheck.imageset/common_checkbox_uncheck@3x.png b/xplan-ios/Assets.xcassets/Common/common_checkbox_uncheck.imageset/common_checkbox_uncheck@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..922dff75dce0cf58ced4721507e7ba115cad5b1a GIT binary patch literal 1554 zcmV+t2JQKYP)Px)%t=H+R9HvFm~CucWf{kR|NFG-3wza$forz5dziC(QH#^YmmnC>iN-{>QNeEr z#ApE<{9^o2P5jiQVyB59eiPa1(3lt+HIgibSgg>vvLRbXyV>Dn)6sQwYx|u0Z_eop z-PR2l+q{$K%X7|s?*Db2`@XLK?}&>HTg$dlxuk@pX_2*7{HV}6i)xuF!$P18FfanV zCNpTfM}(fFguN$<9Q*gfj3QpOL5m%JaoxKe*TM zl0rC~iW5mnF^VLZB?MLwV?F4@!0IV6S#}1H{uGMr96!yT!B%De&5W}|6gphSnPQ_u zxJzggP!0SCsXIFM1j0VUKpbNzIm+w(+ch@*q(ZaH((70p%BWUM>tfIcg2G1ZM&P}` zkfo=U7N4ZNq`UutH|NfXxbab!4xeHjG2RPmnu_9(eNL~(i|6;wtD`8h17-^H-qkm{M8O&?Qp{52fxL^Y_p11hgH{5h11U~ z3C%Vi6dV?Q!XfPFujU_YRr*c^%-rAUq%g!9#n@zYw_%0M->ukzldgkra9q{xt|*(J zQAxZX^f_R{_ES#6PhP2J-@6hpt)$aQ-4OMP@tZ zhis~lelOTwdWzk19j8mpNOtVU7xHPMn=!X3a4e>NWL^lrQlZUX1U4gY1%^Q#0Uq1` zu#R8qf)|=s=>>&`b0mRoE7PWB8a%De_Jw;qe2@>ANg@;at_7PHq@vy+gbgE6e=2M0X~l z7g&QiLZbHcG*1nDhu1FFa4tC`wrYRGwMpa-Qnvuh5ihCG7LO3P-lk7M-=%~<%&uma zyx;{UW|dVn+#2m4NUSIFuPhV8WGz|zEtOgZTJ-13z3{out8MqE61yGqk?b&JBC<+& zjiATYgZx^4bsg4+!nvyS|K$b_}3jhltr5Dkc9SA9=p6?$G|lkoQh^~wy; z)jl0HZ7fT~X2}m(T#wm%)$2szpKQR~gMBArT;{o}S~2T8J#XT0`UNYrU?wXjS;fqI zN8F6^3YK}ojzG8~y<_z@S4FrF{J>eg4+pxTg{`g9C(TVxoWSljx+a!+9bkX-c z>dFNtX-t*-iO*ujjemVb{6reRA?c1uKcTLeGU+GibW(eOs-!%e%Y={t9j=CVX9Z3$P4n0LNcmHjk-r7j`Y;C{||_ zKYgWz1Ct(eYUIwRf(DX!59BG!0A_Bty@fb;mwgMjouQ(%OOcBcYi(tGxdM0(%K3C|DmRBE?~i7062c3yls)g5%4Z9i`92X@ zXUC1Q)_W3?ugxO1Nv5)qMLqd_Lhh47PZD_X?R=m3A1|OHP$&eI7XSbN07*qoM6N<$ Eg0vt3<^TWy literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Common/common_loading.imageset/Contents.json b/xplan-ios/Assets.xcassets/Common/common_loading.imageset/Contents.json new file mode 100644 index 00000000..9cb24442 --- /dev/null +++ b/xplan-ios/Assets.xcassets/Common/common_loading.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "loading@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "loading@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Common/common_loading.imageset/loading@2x.png b/xplan-ios/Assets.xcassets/Common/common_loading.imageset/loading@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4ebd404f21e47f5bcde91f0f24e5413bee53b2 GIT binary patch literal 1355 zcmXw32~bm46b+)X8A?^!3RMskh0#tCfdK*<3>Yy$iV$2-sTh`Eg(40G8-;{m2t<)3 zfD5vTKu}Z^6&tY{8?;)L7OmAGAs~d1_5UP43yFQi@y>hy{ePG9?m2hnmlNZ*q8;5F zQ79C88y=Sc&W&^1-WEKej+wV8l+7z5Au$Sk#wo`KEr#ui@m`aTrju`$k9C{0RIMye zBi*H%Oi)e;ET)^Y$Zpl-R)u)bY-lyYrw|q2VgzZwYGp*_1bAoa6l6%k)G5={Qx7f1 z8?(A516;0C?om%-!Fa@sRD7@!kcIR%mc z0b{I80WYpe+h)|9(?eHGS|9=-d(i-&MpPM)gr!pg_0Cuaao?;5Ou;OEf~Tj`h!4R~ zQ}YwzcA)J20`0*L^z&PK8W;(j5CjQNla>nkR_pCO1KcDM@B;rQdj*W&+soltBXb3x zO(?X+_|__hcImn}`?Gy~^0{hIJ`ck2w=VS*)F{KDyEEmFqi@(F!!$ zi?+VlHH_uO>dnoslv*v;!&$Mb-)srUbz74NHX!?pXJxZdB-qvnZW zxr`7W9|mi?-pdhZK_MnDl=qmPT%{@Ca-C16vAfqoMZEq45e`3SJeK?Cub`i29tz?S zavOtJut-Z>0=&I1P)aV7k71gI)}}aq>CcSL)0a9O?Co)3w2gB1B)T;c+WIA7-gNv- z2)%yNrH|Iu#Nm4S+_Eh5Uvx$AB7vM^W_MaJcWR?^w)91Cmh{z&wXeVG=H$CDbD{!* zUc2&sy!wtUEt@yLhT2}1t{<#=$97~l4=~aT>g{?mm${xj$XYxco0{}p4U>YcA>2wB zM@-z@m;Y=?o6aR;+%~z_g+zHt+}npXmyb}AhX0Pe-ZXJ3^6XS;mBi-Uqp|O?cdItg z>qesYW!ygL`zL{2i>s`zC1zb_>@Q&sMDI#cjr{f0mA;4>(;{g&csrSeO~Tztxw<$r zBCLbV!p3~fMX$Jc9pZbUTSN8bzI@NOEZGXSgg;$!*^yByN zUsRQq#fY3%+u4y@eV$*7X%QEX*c>q8VtI=(_!y4CV1f%u1{erMfOW913wnY+n#p07 zw+?kub_@@ue6xHho#`j?EVN~)?S;vyrQGp+w0fw=?Cd433}>JbK{n;tg7D~;0<&!< Wo`&552hIHzQQM;8a91N!Y5xN=zZrJ` literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Common/common_loading.imageset/loading@3x.png b/xplan-ios/Assets.xcassets/Common/common_loading.imageset/loading@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..959d2a9c743be4da4a628b5a6939ef6033e5f322 GIT binary patch literal 2209 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 LNkvXXu0mjfxmJDk literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@3x.png b/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..af8e23831d6f274bc2471d2b4aea72fc77f8a964 GIT binary patch literal 558 zcmV+}0@3}6P)Px$=t)FDR9Hu~n7e9KK@^6+A0HusJc2g9Lm*xV#?CxJQX0Wl?JNT6d;xP45(4oV z0=|G)q_(mXW1(Q7D=e84Cg<$S-1e@|nUD3&to^S&qVZ#9%fKpdANT@XNc!#=wPcyu zJzx*m2x}Yg5qKf#TQiuMtpG>B8gM5n;y3VI(tZAVUypf2X_13Qv_6~ji| z*8c}!&Epz<&Kuja!;nuus$l+SGrJ4;(DJxvv03uImQ)P9$+OUB$H2n@V3pEa;TeFg z%;&#&(2V)TN*9uPN~N7+!Bk3nXOJnB4h}qtO1*7-J{&!zqtjJOrK7OWhyFQKeM*yH z8I3=vG#M6ESlswouv(?ruo|UBuu`SPuneX3U!Jo!b3)^{`KFG5-iLjswB2pN9I&hL w+unoBDfJtkr<30BM8Ku!?&>q}X?AyY4b%E2J=NhL>Hq)$07*qoM6N<$g1hGgiU0rr literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Contents.json b/xplan-ios/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/xplan-ios/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Login/Contents.json b/xplan-ios/Assets.xcassets/Login/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/xplan-ios/Assets.xcassets/Login/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/Contents.json b/xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/Contents.json new file mode 100644 index 00000000..1b785385 --- /dev/null +++ b/xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "login_appIcon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "login_appIcon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/login_appIcon@2x.png b/xplan-ios/Assets.xcassets/Login/login_appIcon.imageset/login_appIcon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ab245c498689911b11ea6c9638a8a48b2c79808e GIT binary patch literal 6008 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 De&Tms literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/Contents.json b/xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/Contents.json new file mode 100644 index 00000000..25035935 --- /dev/null +++ b/xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "login_auth_bubble@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "login_auth_bubble@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/login_auth_bubble@2x.png b/xplan-ios/Assets.xcassets/Login/login_auth_bubble.imageset/login_auth_bubble@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca4943857848237a9e6af1aa463a333bdd07116 GIT binary patch literal 1986 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 Q;rB2Ae%Z{h(!ed||56l5t^fc4 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_china_mobile.imageset/ChinaMobile_icon@2x.png b/xplan-ios/Assets.xcassets/Login/login_china_mobile.imageset/ChinaMobile_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1bedf87116865d8c463a395282f366cd2d463bdd GIT binary patch literal 12787 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 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_ct_mobile.imageset/ctmobile_icon@3x.png b/xplan-ios/Assets.xcassets/Login/login_ct_mobile.imageset/ctmobile_icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..de9eef63b13db43339109483a54cd469b06d81f5 GIT binary patch literal 56339 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 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_qq.imageset/Contents.json b/xplan-ios/Assets.xcassets/Login/login_qq.imageset/Contents.json new file mode 100644 index 00000000..625e041a --- /dev/null +++ b/xplan-ios/Assets.xcassets/Login/login_qq.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "qq@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "qq@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Login/login_qq.imageset/qq@2x.png b/xplan-ios/Assets.xcassets/Login/login_qq.imageset/qq@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..337e4389b2e793f81722b9e97a58d1dd515396ea GIT binary patch literal 5608 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 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/Contents.json b/xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/Contents.json new file mode 100644 index 00000000..7aeb2387 --- /dev/null +++ b/xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "unicomMobile_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "unicomMobile_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/unicomMobile_icon@2x.png b/xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/unicomMobile_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..df0280380d1bf317a47b1adaf9dd20b5745e4ce4 GIT binary patch literal 5011 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 P2_O|k^?PLs=7IkKAh|!T literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/unicomMobile_icon@3x.png b/xplan-ios/Assets.xcassets/Login/login_unicom_mobile.imageset/unicomMobile_icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..bc163724d8461059576db5074610d1b251ffe3ff GIT binary patch literal 6696 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 S7XNyiKvhvop;+$uyZ-^}qJx|O literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_wechat.imageset/Contents.json b/xplan-ios/Assets.xcassets/Login/login_wechat.imageset/Contents.json new file mode 100644 index 00000000..cb4bb44c --- /dev/null +++ b/xplan-ios/Assets.xcassets/Login/login_wechat.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "wechat@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "wechat@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Login/login_wechat.imageset/wechat@2x.png b/xplan-ios/Assets.xcassets/Login/login_wechat.imageset/wechat@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..67f80543f0df0acbfe9bb464bb308a24049ef8ce GIT binary patch literal 4594 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 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Login/login_wechat.imageset/wechat@3x.png b/xplan-ios/Assets.xcassets/Login/login_wechat.imageset/wechat@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b3417994dd19fcd996cac71406ce19b5ca4bbefb GIT binary patch literal 10554 zcmV-ADaF=_P)VnNU|hS4@x9OYelZe<&sNa-;2j!X71N> z2N)0lfn8u1yP|UfA9+dcVCK&K-S74LzWZImkIIKZm7(gNghwGq_koHT2o*|`XL_Uz zz~3EEFH!3BDX1}S#_#{uHpfC@G{qR6gYrXe+egEK022FP zq+@AWS}4iJ$|1-SqgcRm~`+MJbVs%S~q58>nHsd2=_y#kv2>57K>=! z@+Q7JVdJ5Vw{;r}*h3Jb|8mrvFU^~^tC$9e#W}%==#)G5H8^j_L^Kr_f4ndk^FxN( zqKIe8-e>TMpNl)=PmPy0a=aS@SjCYTa)(UM@_a`kaJwzNT0;{q_QTyUN$OOY>G2FsH&QC<2r z?!;sXcf;-Uww+wRetIRQR#X?GyIp%pi1% zRo(RrG5qYXRU1RDcaLrEU(o z<-INj%Jr9QP*||*=&n!(nNaOw?K|058oO_-YbvrkfH7!fe8kG-b4D;&->Fz!CnH=o z{wB7=7;s^DQAkySWD|l5AjD#2z;ZcI1WXQ;2*HzicrylEoP>)9)`@mv$n@chPKjQ$ zv1rU49~svgX3g>B+5yu+@Xrrhwf4$af!z))86x>KVibzS9K*BNgG88#1xTBCrYf7? zQ~-&=2!Tm~Q6we_&vd2DrCct1Cvsg?*A-%*Rz>=D?T^s{Wtodcql?+4Y_VH0;mARRbGuVU5O7zV zk>Xk;ZS{aPNLJZiWlG1^%5XmfG4zv&xyk7f~UlRbI`9LVjM-c9+cDqPLhw2$~(yd8={~ zawYpvc1X(q9fm*&MnWc{M%;;Mj+wPvQ1cNIo-Byc%xupL?w!i5L1PdO!AQoF;ou%? zk+jYMt2h`-_L9FswPa-q85^s0U-d*jj!<$WI#9B`c&#*%2c;#+ixii(y^6(S4`N-s z&0Pl&I&(b|vJj4I$zzF&^cjOgmR!n?=Vx%=8Uo@&FtvIQoU*tTcUI$wbPU+&w@0n{ zE6e1qwppo6rgUt#A8T|jS%+XIfL;*__bA2HJeUyVx>U^N1adfv!iJ?Ybh>9ZA~A)S zQ4GhFSwALKDlRMn^Q&B(wCgC$Oez)9Hcc<|-nV+4u@8*dok(v-fa#TZVNcQu9uPm5 zb;j?)s@&D#Gl(o@!kZLvD3B`c$$5sokUN99HLd1OW}w-%6{(MHL!Wf5p4#yVrcyjr zyfCp1g^nMiwbPTZmbN6T_H)ybtlf#`Xdf_!OdU%_0+IGz_d6z5GiZTh=<6w2gS8Xk z2vHd7DP+g5T7`%C5ClF~u}#4&?g!&Z02#mFX4Og0ky8jyEku&0Qjyy6E`;o9?84k? z!hzvuh9iN?@0*le867>gMPs!GSc8+{2gQ#~7CZK!7)I;`B&BI3f|nOIIVct9=HH2h zb_b0^FndG2@scV|DUkPbr~h;iK1i6Le9u7Vn6f*wXeb% zvhQUixD@VJR@uAswSi+V=59t7)FDIv5JdX^bU0xAJ8?qV0&MgRSOM$a>58Z>_(L#H zM#5XX5?cXSA&A`cWFdPBqP7R9*A zkQ`&J-1KCLiaXC>B6y0(Rphw@I11!|tMM2?T=e?tz){fA!v&7!Pc6DwXe$ZH5Sw0$ zrHaB$uv5OT))M{s&F9AN9`A@S(A?t%d7Z7`sT&O#

    BJ2TU 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 IM6N<$f)77>1poj5 literal 0 HcmV?d00001 diff --git a/xplan-ios/Base.lproj/LaunchScreen.storyboard b/xplan-ios/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..865e9329 --- /dev/null +++ b/xplan-ios/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xplan-ios/Base/Base.pch b/xplan-ios/Base/Base.pch new file mode 100644 index 00000000..68008557 --- /dev/null +++ b/xplan-ios/Base/Base.pch @@ -0,0 +1,63 @@ +// +// Base.pch +// xplan-ios +// +// Created by zu on 2021/9/1. +// + +#ifndef Base_pch +#define Base_pch + +// Include any system framework and library headers here that should be included in all compilation units. +// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file. +#import + +#define AppName ([[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]) + +//iPhoneX系列设备(刘海屏设备) +#define iPhoneXSeries \ +({BOOL isPhoneXSeries = NO;\ +if (@available(iOS 11.0, *)) {\ +isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\ +}\ +(isPhoneXSeries);}) + +#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] + +/// 默认主题色 +#define ThemeDefaultColor UIColorFromRGB(0x248CFE) +/// 页面背景色 +#define ThemeBackgroundColor UIColorFromRGB(0x1C1B22) +/// 字体默认颜色 +#define ThemeTextColor UIColorFromRGB(0xC6C6E9) +/// 字体默认颜色 +#define ThemeTextSecondColor UIColorFromRGB(0x4F516A) +/// 按钮渐变色 start +#define ThemeButtonGradientStartColor UIColorFromRGB(0x218EFF) +/// 按钮渐变色 end +#define ThemeButtonGradientEndColor UIColorFromRGB(0x7727E4) + +#define KScreenWidth [[UIScreen mainScreen] bounds].size.width +#define KScreenHeight [[UIScreen mainScreen] bounds].size.height +#define statusbarHeight [[UIApplication sharedApplication] statusBarFrame].size.height +#define kStatusBarHeight statusbarHeight +#define kSafeAreaBottomHeight (iPhoneXSeries ? 34 : 0) +#define kSafeAreaTopHeight (iPhoneXSeries ? 24 : 0) +#define kNavigationHeight (kStatusBarHeight + 44) +#define kTabBarHeight (iPhoneXSeries ? 49.0+34.0 : 49.0) + +#ifdef DEBUG +#define NSLog(fmt,...) NSLog((@"%s [Line %d]" fmt),__PRETTY_FUNCTION__,__LINE__,##__VA_ARGS__) +#else +#define NSLog(...) +#endif + +#define isEnterprise \ +({BOOL isEnterprise = NO;\ +if (@available(iOS 11.0, *)) {\ + NSString *bundleID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];\ + isEnterprise = [bundleID isEqualToString:@"com.yinyou.enterprise.ios"];\ +}\ +(isEnterprise);}) + +#endif /* Base_pch */ diff --git a/xplan-ios/Base/Net/ApiHost.h b/xplan-ios/Base/Net/ApiHost.h new file mode 100644 index 00000000..88e58a49 --- /dev/null +++ b/xplan-ios/Base/Net/ApiHost.h @@ -0,0 +1,17 @@ +// +// ApiHost.h +// xplan-ios +// +// Created by zu on 2021/9/6. +// + +#ifndef ApiHost_h +#define ApiHost_h + +#ifdef DEBUG +#define API_HOST_URL @"http://api.uat.lecheng163.com" +#else +#define API_HOST_URL @"https://api.lecheng163.com" +#endif + +#endif /* ApiHost_h */ diff --git a/xplan-ios/Base/Net/HttpRequestHelper.h b/xplan-ios/Base/Net/HttpRequestHelper.h new file mode 100644 index 00000000..6fcfd512 --- /dev/null +++ b/xplan-ios/Base/Net/HttpRequestHelper.h @@ -0,0 +1,59 @@ +// +// HttpRequestHelper.h +// xplan-ios +// +// Created by zu on 2021/9/3. +// + +#import + +typedef NS_ENUM(NSUInteger, HttpRequestHelperMethod) { + HttpRequestHelperMethodPOST, + HttpRequestHelperMethodGET +}; + +static dispatch_once_t onceToken; + +typedef void(^HttpRequestHelperCompletion)(id _Nullable data, NSNumber * _Nullable code, NSString * _Nullable msg); + +NS_ASSUME_NONNULL_BEGIN + +@interface HttpRequestHelper : NSObject + ++ (void)GET:(NSString *)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure; + ++ (void)GET:(NSString *)interfaceUrl + method:(NSString *)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure; + + ++ (void)POST:(NSString *)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure; + ++ (void)POST:(NSString *)interfaceUrl + method:(NSString *)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure; + ++ (void)request:(NSString *)url + method:(HttpRequestHelperMethod)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure; + ++ (void)request:(NSString *)path + method:(HttpRequestHelperMethod)method + params:(NSDictionary *)params + completion:(HttpRequestHelperCompletion)completion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Base/Net/HttpRequestHelper.m b/xplan-ios/Base/Net/HttpRequestHelper.m new file mode 100644 index 00000000..03e50974 --- /dev/null +++ b/xplan-ios/Base/Net/HttpRequestHelper.m @@ -0,0 +1,170 @@ +// +// HttpRequestHelper.m +// xplan-ios +// +// Created by zu on 2021/9/3. +// + +#import "HttpRequestHelper.h" +#import "ApiHost.h" +#import "YYUtility.h" +#import "YYReachability.h" +#import + +@implementation HttpRequestHelper + ++(AFHTTPSessionManager *)requestManager +{ + static AFHTTPSessionManager *manager = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSURLSessionConfiguration * config = [NSURLSessionConfiguration defaultSessionConfiguration]; + manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:config]; + manager.requestSerializer.timeoutInterval = 15; + manager.responseSerializer = [AFJSONResponseSerializer serializer]; + manager.requestSerializer.HTTPShouldHandleCookies = YES; + // 客户端是否信任非法证书 + manager.securityPolicy.allowInvalidCertificates = YES; + AFSecurityPolicy *securityPolicy= [AFSecurityPolicy defaultPolicy]; + manager.securityPolicy = securityPolicy; + // 是否在证书域字段中验证域名 + [manager.securityPolicy setValidatesDomainName:NO]; + manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"text/plain",@"image/jpeg",@"image/png", nil]; + }); + return manager; +} + ++ (void)GET:(NSString *)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure +{ + [self GET:API_HOST_URL method:method params:params success:success failure:failure]; + +} + ++ (void)GET:(NSString *)interfaceUrl method:(NSString *)method params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSNumber *, NSString *))failure +{ + if ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == 0) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + + }); + } + + AFHTTPSessionManager *manager = [HttpRequestHelper requestManager]; + + NSString *url = [NSString stringWithFormat:@"%@/%@", interfaceUrl, method]; + +#ifdef DEBUG + NSLog(@"url:%@, parameter:%@", url, params); +#endif + + [manager GET:url parameters:params headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { + + } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { + + }]; +} + ++ (void)POST:(NSString *)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure +{ + [self POST:API_HOST_URL method:method params:params success:success failure:failure]; +} + ++ (void)POST:(NSString *)interfaceUrl + method:(NSString *)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure +{ + if ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == 0) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + + }); + } + + AFHTTPSessionManager *manager = [HttpRequestHelper requestManager]; + + NSString *url = [NSString stringWithFormat:@"%@/%@", interfaceUrl, method]; + params = [self configBaseParmars:params]; +#ifdef DEBUG + NSLog(@"\nurl:\n%@\nparameter:\n%@", url, params); +#endif + + [manager POST:url parameters:params headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { +#ifdef DEBUG + NSLog(@"\n%@", responseObject); +#endif + success(responseObject); + } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { +#ifdef DEBUG + NSLog(@"\n%@", error); +#endif + }]; +} + ++ (void)request:(NSString *)url + method:(HttpRequestHelperMethod)method + params:(NSDictionary *)params + success:(void (^)(id data))success + failure:(void (^)(NSNumber *resCode, NSString *message))failure +{ + + switch (method) { + case HttpRequestHelperMethodGET: { + [self GET:url params:params success:success failure:failure]; + } + break; + case HttpRequestHelperMethodPOST:{ + [self POST:url params:params success:success failure:failure]; + } + break; + } +} + ++ (void)request:(NSString *)path + method:(HttpRequestHelperMethod)method + params:(NSDictionary *)params + completion:(HttpRequestHelperCompletion)completion +{ + if ([path hasPrefix:@"/"]) { + path = [path substringFromIndex:1]; + } + [self request:path method:method params:params success:^(id data) { + if (completion) { + completion(data, nil, nil); + } + } failure:^(NSNumber *resCode, NSString *message) { + if (completion) { + completion(nil, resCode, message); + } + }]; +} + ++ (NSDictionary*)configBaseParmars:(NSDictionary *)parmars { + NSDictionary *defaultBasciParame = @{ + @"os" : @"iOS", + @"osVersion" : [YYUtility systemVersion], + @"netType" : ([YYUtility networkStatus] == ReachableViaWiFi) ? @2 : @1, + @"ispType" : @([YYUtility carrierIdentifier]), + @"channel" : [YYUtility getAppSource] ? : @"", + @"model" : [YYUtility modelName], + @"deviceId" : [YYUtility deviceUniqueIdentification], + @"appVersion" : [YYUtility appVersion], + @"app" : [YYUtility appName] + }; + if (!parmars||![parmars isKindOfClass:[NSDictionary class]]){ + NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithDictionary:defaultBasciParame]; + return dic; + } + NSMutableDictionary * dic = [NSMutableDictionary dictionaryWithDictionary:parmars]; + for (NSString *parameKey in defaultBasciParame.allKeys) { + [dic setObject:defaultBasciParame[parameKey] forKey:parameKey]; + } + return dic; +} + +@end diff --git a/xplan-ios/Base/Tool/GCDHelper/GCDHelper.h b/xplan-ios/Base/Tool/GCDHelper/GCDHelper.h new file mode 100644 index 00000000..587e2cdb --- /dev/null +++ b/xplan-ios/Base/Tool/GCDHelper/GCDHelper.h @@ -0,0 +1,11 @@ +// +// GCDHelper.h +// YYMobileFramework +// +// Created by wuwei on 14/7/18. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import + +void dispatch_main_sync_safe(dispatch_block_t block); \ No newline at end of file diff --git a/xplan-ios/Base/Tool/GCDHelper/GCDHelper.m b/xplan-ios/Base/Tool/GCDHelper/GCDHelper.m new file mode 100644 index 00000000..7d3bd056 --- /dev/null +++ b/xplan-ios/Base/Tool/GCDHelper/GCDHelper.m @@ -0,0 +1,16 @@ +// +// GCDHelper.m +// YYMobileFramework +// +// Created by wuwei on 14/7/18. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import "GCDHelper.h" +void dispatch_main_sync_safe(dispatch_block_t block) { + if ([NSThread isMainThread]) { + block(); + }else { + dispatch_sync(dispatch_get_main_queue(), block); + } +} diff --git a/xplan-ios/Base/Tool/KeyChain/SSKeychain.h b/xplan-ios/Base/Tool/KeyChain/SSKeychain.h new file mode 100755 index 00000000..1460a34a --- /dev/null +++ b/xplan-ios/Base/Tool/KeyChain/SSKeychain.h @@ -0,0 +1,357 @@ +// +// SSKeychain.h +// SSToolkit +// +// Created by Sam Soffes on 5/19/10. +// Copyright (c) 2009-2011 Sam Soffes. All rights reserved. +// + +#import +#import + +/** Error codes that can be returned in NSError objects. */ +typedef enum { + /** No error. */ + SSKeychainErrorNone = noErr, + + /** Some of the arguments were invalid. */ + SSKeychainErrorBadArguments = -1001, + + /** There was no password. */ + SSKeychainErrorNoPassword = -1002, + + /** One or more parameters passed internally were not valid. */ + SSKeychainErrorInvalidParameter = errSecParam, + + /** Failed to allocate memory. */ + SSKeychainErrorFailedToAllocated = errSecAllocate, + + /** No trust results are available. */ + SSKeychainErrorNotAvailable = errSecNotAvailable, + + /** Authorization/Authentication failed. */ + SSKeychainErrorAuthorizationFailed = errSecAuthFailed, + + /** The item already exists. */ + SSKeychainErrorDuplicatedItem = errSecDuplicateItem, + + /** The item cannot be found.*/ + SSKeychainErrorNotFound = errSecItemNotFound, + + /** Interaction with the Security Server is not allowed. */ + SSKeychainErrorInteractionNotAllowed = errSecInteractionNotAllowed, + + /** Unable to decode the provided data. */ + SSKeychainErrorFailedToDecode = errSecDecode +} SSKeychainErrorCode; + +extern NSString *const kSSKeychainErrorDomain; + +/** Account name. */ +extern NSString *const kSSKeychainAccountKey; + +/** + Time the item was created. + + The value will be a string. + */ +extern NSString *const kSSKeychainCreatedAtKey; + +/** Item class. */ +extern NSString *const kSSKeychainClassKey; + +/** Item description. */ +extern NSString *const kSSKeychainDescriptionKey; + +/** Item label. */ +extern NSString *const kSSKeychainLabelKey; + +/** Time the item was last modified. + + The value will be a string. + */ +extern NSString *const kSSKeychainLastModifiedKey; + +/** Where the item was created. */ +extern NSString *const kSSKeychainWhereKey; + +/** + Simple wrapper for accessing accounts, getting passwords, setting passwords, and deleting passwords using the system + Keychain on Mac OS X and iOS. + + This was originally inspired by EMKeychain and SDKeychain (both of which are now gone). Thanks to the authors. + SSKeychain has since switched to a simpler implementation that was abstracted from [SSToolkit](http://sstoolk.it). + */ +@interface SSKeychain : NSObject + +///----------------------- +/// @name Getting Accounts +///----------------------- + +/** + Returns an array containing the Keychain's accounts, or `nil` if the Keychain has no accounts. + + See the `NSString` constants declared in SSKeychain.h for a list of keys that can be used when accessing the + dictionaries returned by this method. + + @return An array of dictionaries containing the Keychain's accounts, or `nil` if the Keychain doesn't have any + accounts. The order of the objects in the array isn't defined. + + @see allAccounts: + */ ++ (NSArray *)allAccounts; + +/** + Returns an array containing the Keychain's accounts, or `nil` if the Keychain doesn't have any + accounts. + + See the `NSString` constants declared in SSKeychain.h for a list of keys that can be used when accessing the + dictionaries returned by this method. + + @param error If accessing the accounts fails, upon return contains an error that describes the problem. + + @return An array of dictionaries containing the Keychain's accounts, or `nil` if the Keychain doesn't have any + accounts. The order of the objects in the array isn't defined. + + @see allAccounts + */ ++ (NSArray *)allAccounts:(NSError **)error; + +/** + Returns an array containing the Keychain's accounts for a given service, or `nil` if the Keychain doesn't have any + accounts for the given service. + + See the `NSString` constants declared in SSKeychain.h for a list of keys that can be used when accessing the + dictionaries returned by this method. + + @param serviceName The service for which to return the corresponding accounts. + + @return An array of dictionaries containing the Keychain's accountsfor a given `serviceName`, or `nil` if the Keychain + doesn't have any accounts for the given `serviceName`. The order of the objects in the array isn't defined. + + @see accountsForService:error: + */ ++ (NSArray *)accountsForService:(NSString *)serviceName; + +/** + Returns an array containing the Keychain's accounts for a given service, or `nil` if the Keychain doesn't have any + accounts for the given service. + + @param serviceName The service for which to return the corresponding accounts. + + @param error If accessing the accounts fails, upon return contains an error that describes the problem. + + @return An array of dictionaries containing the Keychain's accountsfor a given `serviceName`, or `nil` if the Keychain + doesn't have any accounts for the given `serviceName`. The order of the objects in the array isn't defined. + + @see accountsForService: + */ ++ (NSArray *)accountsForService:(NSString *)serviceName error:(NSError **)error; + + +///------------------------ +/// @name Getting Passwords +///------------------------ + +/** + Returns a string containing the password for a given account and service, or `nil` if the Keychain doesn't have a + password for the given parameters. + + @param serviceName The service for which to return the corresponding password. + + @param account The account for which to return the corresponding password. + + @return Returns a string containing the password for a given account and service, or `nil` if the Keychain doesn't + have a password for the given parameters. + + @see passwordForService:account:error: + */ ++ (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account; + +/** + Returns a string containing the password for a given account and service, or `nil` if the Keychain doesn't have a + password for the given parameters. + + @param serviceName The service for which to return the corresponding password. + + @param account The account for which to return the corresponding password. + + @param error If accessing the password fails, upon return contains an error that describes the problem. + + @return Returns a string containing the password for a given account and service, or `nil` if the Keychain doesn't + have a password for the given parameters. + + @see passwordForService:account: + */ ++ (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error; + +/** + Returns the password data for a given account and service, or `nil` if the Keychain doesn't have data + for the given parameters. + + @param serviceName The service for which to return the corresponding password. + + @param account The account for which to return the corresponding password. + + @param error If accessing the password fails, upon return contains an error that describes the problem. + + @return Returns a the password data for the given account and service, or `nil` if the Keychain doesn't + have data for the given parameters. + + @see passwordDataForService:account:error: + */ ++ (NSData *)passwordDataForService:(NSString *)serviceName account:(NSString *)account; + +/** + Returns the password data for a given account and service, or `nil` if the Keychain doesn't have data + for the given parameters. + + @param serviceName The service for which to return the corresponding password. + + @param account The account for which to return the corresponding password. + + @param error If accessing the password fails, upon return contains an error that describes the problem. + + @return Returns a the password data for the given account and service, or `nil` if the Keychain doesn't + have a password for the given parameters. + + @see passwordDataForService:account: + */ ++ (NSData *)passwordDataForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error; + + +///------------------------- +/// @name Deleting Passwords +///------------------------- + +/** + Deletes a password from the Keychain. + + @param serviceName The service for which to delete the corresponding password. + + @param account The account for which to delete the corresponding password. + + @return Returns `YES` on success, or `NO` on failure. + + @see deletePasswordForService:account:error: + */ ++ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account; + +/** + Deletes a password from the Keychain. + + @param serviceName The service for which to delete the corresponding password. + + @param account The account for which to delete the corresponding password. + + @param error If deleting the password fails, upon return contains an error that describes the problem. + + @return Returns `YES` on success, or `NO` on failure. + + @see deletePasswordForService:account: + */ ++ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error; + + +///------------------------ +/// @name Setting Passwords +///------------------------ + +/** + Sets a password in the Keychain. + + @param password The password to store in the Keychain. + + @param serviceName The service for which to set the corresponding password. + + @param account The account for which to set the corresponding password. + + @return Returns `YES` on success, or `NO` on failure. + + @see setPassword:forService:account:error: + */ ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account; + +/** + Sets a password in the Keychain. + + @param password The password to store in the Keychain. + + @param serviceName The service for which to set the corresponding password. + + @param account The account for which to set the corresponding password. + + @param error If setting the password fails, upon return contains an error that describes the problem. + + @return Returns `YES` on success, or `NO` on failure. + + @see setPassword:forService:account: + */ ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error; + +/** + Sets arbirary data in the Keychain. + + @param password The data to store in the Keychain. + + @param serviceName The service for which to set the corresponding password. + + @param account The account for which to set the corresponding password. + + @param error If setting the password fails, upon return contains an error that describes the problem. + + @return Returns `YES` on success, or `NO` on failure. + + @see setPasswordData:forService:account:error: + */ ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)serviceName account:(NSString *)account; + +/** + Sets arbirary data in the Keychain. + + @param password The data to store in the Keychain. + + @param serviceName The service for which to set the corresponding password. + + @param account The account for which to set the corresponding password. + + @param error If setting the password fails, upon return contains an error that describes the problem. + + @return Returns `YES` on success, or `NO` on failure. + + @see setPasswordData:forService:account: + */ ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error; + + +///-------------------- +/// @name Configuration +///-------------------- + +#if __IPHONE_4_0 && TARGET_OS_IPHONE +/** + Returns the accessibility type for all future passwords saved to the Keychain. + + @return Returns the accessibility type. + + The return value will be `NULL` or one of the "Keychain Item Accessibility Constants" used for determining when a + keychain item should be readable. + + @see accessibilityType + */ ++ (CFTypeRef)accessibilityType; + +/** + Sets the accessibility type for all future passwords saved to the Keychain. + + @param accessibilityType One of the "Keychain Item Accessibility Constants" used for determining when a keychain item + should be readable. + + If the value is `NULL` (the default), the Keychain default will be used. + + @see accessibilityType + */ ++ (void)setAccessibilityType:(CFTypeRef)accessibilityType; +#endif + +@end diff --git a/xplan-ios/Base/Tool/KeyChain/SSKeychain.m b/xplan-ios/Base/Tool/KeyChain/SSKeychain.m new file mode 100755 index 00000000..ff58301e --- /dev/null +++ b/xplan-ios/Base/Tool/KeyChain/SSKeychain.m @@ -0,0 +1,262 @@ +// +// SSKeychain.m +// SSToolkit +// +// Created by Sam Soffes on 5/19/10. +// Copyright (c) 2009-2011 Sam Soffes. All rights reserved. +// + +#import "SSKeychain.h" + +NSString *const kSSKeychainErrorDomain = @"com.samsoffes.sskeychain"; + +NSString *const kSSKeychainAccountKey = @"acct"; +NSString *const kSSKeychainCreatedAtKey = @"cdat"; +NSString *const kSSKeychainClassKey = @"labl"; +NSString *const kSSKeychainDescriptionKey = @"desc"; +NSString *const kSSKeychainLabelKey = @"labl"; +NSString *const kSSKeychainLastModifiedKey = @"mdat"; +NSString *const kSSKeychainWhereKey = @"svce"; + +#if __IPHONE_4_0 && TARGET_OS_IPHONE +CFTypeRef SSKeychainAccessibilityType = NULL; +#endif + +@interface SSKeychain () ++ (NSMutableDictionary *)_queryForService:(NSString *)service account:(NSString *)account; +@end + +@implementation SSKeychain + +#pragma mark - Getting Accounts + ++ (NSArray *)allAccounts { + return [self accountsForService:nil error:nil]; +} + + ++ (NSArray *)allAccounts:(NSError **)error { + return [self accountsForService:nil error:error]; +} + + ++ (NSArray *)accountsForService:(NSString *)service { + return [self accountsForService:service error:nil]; +} + + ++ (NSArray *)accountsForService:(NSString *)service error:(NSError **)error { + OSStatus status = SSKeychainErrorBadArguments; + NSMutableDictionary *query = [self _queryForService:service account:nil]; +#if __has_feature(objc_arc) + [query setObject:(__bridge id)kCFBooleanTrue forKey:(__bridge id)kSecReturnAttributes]; + [query setObject:(__bridge id)kSecMatchLimitAll forKey:(__bridge id)kSecMatchLimit]; +#else + [query setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnAttributes]; + [query setObject:(id)kSecMatchLimitAll forKey:(id)kSecMatchLimit]; +#endif + + CFTypeRef result = NULL; +#if __has_feature(objc_arc) + status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result); +#else + status = SecItemCopyMatching((CFDictionaryRef)query, &result); +#endif + if (status != noErr && error != NULL) { + *error = [NSError errorWithDomain:kSSKeychainErrorDomain code:status userInfo:nil]; + return nil; + } + +#if __has_feature(objc_arc) + return (__bridge_transfer NSArray *)result; +#else + return [(NSArray *)result autorelease]; +#endif +} + + +#pragma mark - Getting Passwords + ++ (NSString *)passwordForService:(NSString *)service account:(NSString *)account { + return [self passwordForService:service account:account error:nil]; +} + + ++ (NSString *)passwordForService:(NSString *)service account:(NSString *)account error:(NSError **)error { + NSData *data = [self passwordDataForService:service account:account error:error]; + if (data.length > 0) { + NSString *string = [[NSString alloc] initWithData:(NSData *)data encoding:NSUTF8StringEncoding]; +#if !__has_feature(objc_arc) + [string autorelease]; +#endif + return string; + } + + return nil; +} + + ++ (NSData *)passwordDataForService:(NSString *)service account:(NSString *)account { + return [self passwordDataForService:service account:account error:nil]; +} + + ++ (NSData *)passwordDataForService:(NSString *)service account:(NSString *)account error:(NSError **)error { + OSStatus status = SSKeychainErrorBadArguments; + if (!service || !account) { + if (error) { + *error = [NSError errorWithDomain:kSSKeychainErrorDomain code:status userInfo:nil]; + } + return nil; + } + + CFTypeRef result = NULL; + NSMutableDictionary *query = [self _queryForService:service account:account]; +#if __has_feature(objc_arc) + [query setObject:(__bridge id)kCFBooleanTrue forKey:(__bridge id)kSecReturnData]; + [query setObject:(__bridge id)kSecMatchLimitOne forKey:(__bridge id)kSecMatchLimit]; + status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result); +#else + [query setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnData]; + [query setObject:(id)kSecMatchLimitOne forKey:(id)kSecMatchLimit]; + status = SecItemCopyMatching((CFDictionaryRef)query, &result); +#endif + + if (status != noErr && error != NULL) { + *error = [NSError errorWithDomain:kSSKeychainErrorDomain code:status userInfo:nil]; + return nil; + } + +#if __has_feature(objc_arc) + return (__bridge_transfer NSData *)result; +#else + return [(NSData *)result autorelease]; +#endif +} + + +#pragma mark - Deleting Passwords + ++ (BOOL)deletePasswordForService:(NSString *)service account:(NSString *)account { + return [self deletePasswordForService:service account:account error:nil]; +} + + ++ (BOOL)deletePasswordForService:(NSString *)service account:(NSString *)account error:(NSError **)error { + OSStatus status = SSKeychainErrorBadArguments; + if (service && account) { + NSMutableDictionary *query = [self _queryForService:service account:account]; +#if __has_feature(objc_arc) + status = SecItemDelete((__bridge CFDictionaryRef)query); +#else + status = SecItemDelete((CFDictionaryRef)query); +#endif + } + if (status != noErr && error != NULL) { + *error = [NSError errorWithDomain:kSSKeychainErrorDomain code:status userInfo:nil]; + } + return (status == noErr); + +} + + +#pragma mark - Setting Passwords + ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)service account:(NSString *)account { + return [self setPassword:password forService:service account:account error:nil]; +} + + ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)service account:(NSString *)account error:(NSError **)error { + NSData *data = [password dataUsingEncoding:NSUTF8StringEncoding]; + return [self setPasswordData:data forService:service account:account error:error]; +} + + ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)service account:(NSString *)account { + return [self setPasswordData:password forService:service account:account error:nil]; +} + + ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)service account:(NSString *)account error:(NSError **)error { + OSStatus status = SSKeychainErrorBadArguments; + if (password && service && account) { + [self deletePasswordForService:service account:account]; + NSMutableDictionary *query = [self _queryForService:service account:account]; +#if __has_feature(objc_arc) + [query setObject:password forKey:(__bridge id)kSecValueData]; +#else + [query setObject:password forKey:(id)kSecValueData]; +#endif + +#if __IPHONE_4_0 && TARGET_OS_IPHONE + if (SSKeychainAccessibilityType) { +#if __has_feature(objc_arc) + [query setObject:(id)[self accessibilityType] forKey:(__bridge id)kSecAttrAccessible]; +#else + [query setObject:(id)[self accessibilityType] forKey:(id)kSecAttrAccessible]; +#endif + } +#endif + +#if __has_feature(objc_arc) + status = SecItemAdd((__bridge CFDictionaryRef)query, NULL); +#else + status = SecItemAdd((CFDictionaryRef)query, NULL); +#endif + } + if (status != noErr && error != NULL) { + *error = [NSError errorWithDomain:kSSKeychainErrorDomain code:status userInfo:nil]; + } + return (status == noErr); +} + + +#pragma mark - Configuration + +#if __IPHONE_4_0 && TARGET_OS_IPHONE ++ (CFTypeRef)accessibilityType { + return SSKeychainAccessibilityType; +} + + ++ (void)setAccessibilityType:(CFTypeRef)accessibilityType { + CFRetain(accessibilityType); + if (SSKeychainAccessibilityType) { + CFRelease(SSKeychainAccessibilityType); + } + SSKeychainAccessibilityType = accessibilityType; +} +#endif + + +#pragma mark - Private + ++ (NSMutableDictionary *)_queryForService:(NSString *)service account:(NSString *)account { + NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:3]; +#if __has_feature(objc_arc) + [dictionary setObject:(__bridge id)kSecClassGenericPassword forKey:(__bridge id)kSecClass]; +#else + [dictionary setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; +#endif + + if (service) { +#if __has_feature(objc_arc) + [dictionary setObject:service forKey:(__bridge id)kSecAttrService]; +#else + [dictionary setObject:service forKey:(id)kSecAttrService]; +#endif + } + + if (account) { +#if __has_feature(objc_arc) + [dictionary setObject:account forKey:(__bridge id)kSecAttrAccount]; +#else + [dictionary setObject:account forKey:(id)kSecAttrAccount]; +#endif + } + + return dictionary; +} + +@end diff --git a/xplan-ios/Base/Tool/Reachability/YYReachability.h b/xplan-ios/Base/Tool/Reachability/YYReachability.h new file mode 100644 index 00000000..05910449 --- /dev/null +++ b/xplan-ios/Base/Tool/Reachability/YYReachability.h @@ -0,0 +1,109 @@ +/* + Copyright (c) 2011, Tony Million. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ + +#import +#import + +#import +#import +#import +#import +#import +#import + +/** + * Does ARC support GCD objects? + * It does if the minimum deployment target is iOS 6+ or Mac OS X 8+ + * + * @see http://opensource.apple.com/source/libdispatch/libdispatch-228.18/os/object.h + **/ +#if OS_OBJECT_USE_OBJC +#define NEEDS_DISPATCH_RETAIN_RELEASE 0 +#else +#define NEEDS_DISPATCH_RETAIN_RELEASE 1 +#endif + +/** + * Create NS_ENUM macro if it does not exist on the targeted version of iOS or OS X. + * + * @see http://nshipster.com/ns_enum-ns_options/ + **/ +#ifndef NS_ENUM +#define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type +#endif + +extern NSString *const kYYReachabilityChangedNotification; + +typedef NS_ENUM(NSInteger, NetworkStatus) { + // Apple NetworkStatus Compatible Names. + NotReachable = 0, + ReachableViaWiFi = 2, + ReachableViaWWAN = 1 +}; + +@class YYReachability; + +typedef void (^NetworkReachable)(YYReachability * reachability); +typedef void (^NetworkUnreachable)(YYReachability * reachability); + +@interface YYReachability : NSObject + +@property (nonatomic, copy) NetworkReachable reachableBlock; +@property (nonatomic, copy) NetworkUnreachable unreachableBlock; + + +@property (nonatomic, assign) BOOL reachableOnWWAN; + ++(YYReachability*)reachabilityWithHostname:(NSString*)hostname; ++(YYReachability*)reachabilityForInternetConnection; ++(YYReachability*)reachabilityWithAddress:(const struct sockaddr_in*)hostAddress; ++(YYReachability*)reachabilityForLocalWiFi; + +-(YYReachability *)initWithReachabilityRef:(SCNetworkReachabilityRef)ref; + +-(BOOL)startNotifier; +-(void)stopNotifier; + +-(BOOL)isReachable; +-(BOOL)isReachableViaWWAN; +-(BOOL)isReachableViaWiFi; + +// WWAN may be available, but not active until a connection has been established. +// WiFi may require a connection for VPN on Demand. +-(BOOL)isConnectionRequired; // Identical DDG variant. +-(BOOL)connectionRequired; // Apple's routine. +// Dynamic, on demand connection? +-(BOOL)isConnectionOnDemand; +// Is user intervention required? +-(BOOL)isInterventionRequired; + +-(NetworkStatus)currentReachabilityStatus; +-(SCNetworkReachabilityFlags)reachabilityFlags; +-(NSString*)currentReachabilityString; +-(NSString*)currentReachabilityFlags; + +@end diff --git a/xplan-ios/Base/Tool/Reachability/YYReachability.m b/xplan-ios/Base/Tool/Reachability/YYReachability.m new file mode 100644 index 00000000..3bafa920 --- /dev/null +++ b/xplan-ios/Base/Tool/Reachability/YYReachability.m @@ -0,0 +1,527 @@ +/* + Copyright (c) 2011, Tony Million. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ + +#import "YYReachability.h" + + +NSString *const kYYReachabilityChangedNotification = @"kYYReachabilityChangedNotification"; + +@interface YYReachability () + +@property (nonatomic, assign) SCNetworkReachabilityRef reachabilityRef; + + +#if NEEDS_DISPATCH_RETAIN_RELEASE +@property (nonatomic, assign) dispatch_queue_t reachabilitySerialQueue; +#else +@property (nonatomic, strong) dispatch_queue_t reachabilitySerialQueue; +#endif + + +@property (nonatomic, strong) id reachabilityObject; + +-(void)reachabilityChanged:(SCNetworkReachabilityFlags)flags; +-(BOOL)isReachableWithFlags:(SCNetworkReachabilityFlags)flags; + +@end + +static NSString *reachabilityFlags(SCNetworkReachabilityFlags flags) +{ + return [NSString stringWithFormat:@"%c%c %c%c%c%c%c%c%c", +#if TARGET_OS_IPHONE + (flags & kSCNetworkReachabilityFlagsIsWWAN) ? 'W' : '-', +#else + 'X', +#endif + (flags & kSCNetworkReachabilityFlagsReachable) ? 'R' : '-', + (flags & kSCNetworkReachabilityFlagsConnectionRequired) ? 'c' : '-', + (flags & kSCNetworkReachabilityFlagsTransientConnection) ? 't' : '-', + (flags & kSCNetworkReachabilityFlagsInterventionRequired) ? 'i' : '-', + (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) ? 'C' : '-', + (flags & kSCNetworkReachabilityFlagsConnectionOnDemand) ? 'D' : '-', + (flags & kSCNetworkReachabilityFlagsIsLocalAddress) ? 'l' : '-', + (flags & kSCNetworkReachabilityFlagsIsDirect) ? 'd' : '-']; +} + +// Start listening for reachability notifications on the current run loop +static void TMReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info) +{ +#pragma unused (target) +#if __has_feature(objc_arc) + YYReachability *reachability = ((__bridge YYReachability*)info); +#else + YYReachability *reachability = ((YYReachability*)info); +#endif + + // We probably don't need an autoreleasepool here, as GCD docs state each queue has its own autorelease pool, + // but what the heck eh? + @autoreleasepool + { + [reachability reachabilityChanged:flags]; + } +} + + +@implementation YYReachability + +@synthesize reachabilityRef; +@synthesize reachabilitySerialQueue; + +@synthesize reachableOnWWAN; + +@synthesize reachableBlock; +@synthesize unreachableBlock; + +@synthesize reachabilityObject; + +#pragma mark - Class Constructor Methods + ++(YYReachability*)reachabilityWithHostName:(NSString*)hostname +{ + return [YYReachability reachabilityWithHostname:hostname]; +} + ++(YYReachability*)reachabilityWithHostname:(NSString*)hostname +{ + SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithName(NULL, [hostname UTF8String]); + if (ref) + { + id reachability = [[self alloc] initWithReachabilityRef:ref]; + +#if __has_feature(objc_arc) + return reachability; +#else + return [reachability autorelease]; +#endif + + } + + return nil; +} + ++(YYReachability *)reachabilityWithAddress:(const struct sockaddr_in *)hostAddress +{ + SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr*)hostAddress); + if (ref) + { + id reachability = [[self alloc] initWithReachabilityRef:ref]; + +#if __has_feature(objc_arc) + return reachability; +#else + return [reachability autorelease]; +#endif + } + + return nil; +} + ++(YYReachability *)reachabilityForInternetConnection +{ + struct sockaddr_in zeroAddress; + bzero(&zeroAddress, sizeof(zeroAddress)); + zeroAddress.sin_len = sizeof(zeroAddress); + zeroAddress.sin_family = AF_INET; + + return [self reachabilityWithAddress:&zeroAddress]; +} + ++(YYReachability*)reachabilityForLocalWiFi +{ + struct sockaddr_in localWifiAddress; + bzero(&localWifiAddress, sizeof(localWifiAddress)); + localWifiAddress.sin_len = sizeof(localWifiAddress); + localWifiAddress.sin_family = AF_INET; + // IN_LINKLOCALNETNUM is defined in as 169.254.0.0 + localWifiAddress.sin_addr.s_addr = htonl(IN_LINKLOCALNETNUM); + + return [self reachabilityWithAddress:&localWifiAddress]; +} + + +// Initialization methods + +-(YYReachability *)initWithReachabilityRef:(SCNetworkReachabilityRef)ref +{ + self = [super init]; + if (self != nil) + { + self.reachableOnWWAN = YES; + self.reachabilityRef = ref; + } + + return self; +} + +-(void)dealloc +{ + [self stopNotifier]; + + if(self.reachabilityRef) + { + CFRelease(self.reachabilityRef); + self.reachabilityRef = nil; + } + + self.reachableBlock = nil; + self.unreachableBlock = nil; + +#if !(__has_feature(objc_arc)) + [super dealloc]; +#endif + + +} + +#pragma mark - Notifier Methods + +// Notifier +// NOTE: This uses GCD to trigger the blocks - they *WILL NOT* be called on THE MAIN THREAD +// - In other words DO NOT DO ANY UI UPDATES IN THE BLOCKS. +// INSTEAD USE dispatch_async(dispatch_get_main_queue(), ^{UISTUFF}) (or dispatch_sync if you want) + +-(BOOL)startNotifier +{ + SCNetworkReachabilityContext context = { 0, NULL, NULL, NULL, NULL }; + + // this should do a retain on ourself, so as long as we're in notifier mode we shouldn't disappear out from under ourselves + // woah + self.reachabilityObject = self; + + + + // First, we need to create a serial queue. + // We allocate this once for the lifetime of the notifier. + self.reachabilitySerialQueue = dispatch_queue_create("com.tonymillion.reachability", NULL); + if(!self.reachabilitySerialQueue) + { + return NO; + } + +#if __has_feature(objc_arc) + context.info = (__bridge void *)self; +#else + context.info = (void *)self; +#endif + + if (!SCNetworkReachabilitySetCallback(self.reachabilityRef, TMReachabilityCallback, &context)) + { +#ifdef DEBUG + NSLog(@"SCNetworkReachabilitySetCallback() failed: %s", SCErrorString(SCError())); +#endif + + // Clear out the dispatch queue + if(self.reachabilitySerialQueue) + { +#if NEEDS_DISPATCH_RETAIN_RELEASE + dispatch_release(self.reachabilitySerialQueue); +#endif + self.reachabilitySerialQueue = nil; + } + + self.reachabilityObject = nil; + + return NO; + } + + // Set it as our reachability queue, which will retain the queue + if(!SCNetworkReachabilitySetDispatchQueue(self.reachabilityRef, self.reachabilitySerialQueue)) + { +#ifdef DEBUG + NSLog(@"SCNetworkReachabilitySetDispatchQueue() failed: %s", SCErrorString(SCError())); +#endif + + // UH OH - FAILURE! + + // First stop, any callbacks! + SCNetworkReachabilitySetCallback(self.reachabilityRef, NULL, NULL); + + // Then clear out the dispatch queue. + if(self.reachabilitySerialQueue) + { +#if NEEDS_DISPATCH_RETAIN_RELEASE + dispatch_release(self.reachabilitySerialQueue); +#endif + self.reachabilitySerialQueue = nil; + } + + self.reachabilityObject = nil; + + return NO; + } + + return YES; +} + +-(void)stopNotifier +{ + // First stop, any callbacks! + SCNetworkReachabilitySetCallback(self.reachabilityRef, NULL, NULL); + + // Unregister target from the GCD serial dispatch queue. + SCNetworkReachabilitySetDispatchQueue(self.reachabilityRef, NULL); + + if(self.reachabilitySerialQueue) + { +#if NEEDS_DISPATCH_RETAIN_RELEASE + dispatch_release(self.reachabilitySerialQueue); +#endif + self.reachabilitySerialQueue = nil; + } + + self.reachabilityObject = nil; +} + +#pragma mark - reachability tests + +// This is for the case where you flick the airplane mode; +// you end up getting something like this: +//Reachability: WR ct----- +//Reachability: -- ------- +//Reachability: WR ct----- +//Reachability: -- ------- +// We treat this as 4 UNREACHABLE triggers - really apple should do better than this + +#define testcase (kSCNetworkReachabilityFlagsConnectionRequired | kSCNetworkReachabilityFlagsTransientConnection) + +-(BOOL)isReachableWithFlags:(SCNetworkReachabilityFlags)flags +{ + BOOL connectionUP = YES; + + if(!(flags & kSCNetworkReachabilityFlagsReachable)) + connectionUP = NO; + + if( (flags & testcase) == testcase ) + connectionUP = NO; + +#if TARGET_OS_IPHONE + if(flags & kSCNetworkReachabilityFlagsIsWWAN) + { + // We're on 3G. + if(!self.reachableOnWWAN) + { + // We don't want to connect when on 3G. + connectionUP = NO; + } + } +#endif + + return connectionUP; +} + +-(BOOL)isReachable +{ + SCNetworkReachabilityFlags flags; + + if(!SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags)) + return NO; + + return [self isReachableWithFlags:flags]; +} + +-(BOOL)isReachableViaWWAN +{ +#if TARGET_OS_IPHONE + + SCNetworkReachabilityFlags flags = 0; + + if(SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) + { + // Check we're REACHABLE + if(flags & kSCNetworkReachabilityFlagsReachable) + { + // Now, check we're on WWAN + if(flags & kSCNetworkReachabilityFlagsIsWWAN) + { + return YES; + } + } + } +#endif + + return NO; +} + +-(BOOL)isReachableViaWiFi +{ + SCNetworkReachabilityFlags flags = 0; + + if(SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) + { + // Check we're reachable + if((flags & kSCNetworkReachabilityFlagsReachable)) + { +#if TARGET_OS_IPHONE + // Check we're NOT on WWAN + if((flags & kSCNetworkReachabilityFlagsIsWWAN)) + { + return NO; + } +#endif + return YES; + } + } + + return NO; +} + + +// WWAN may be available, but not active until a connection has been established. +// WiFi may require a connection for VPN on Demand. +-(BOOL)isConnectionRequired +{ + return [self connectionRequired]; +} + +-(BOOL)connectionRequired +{ + SCNetworkReachabilityFlags flags; + + if(SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) + { + return (flags & kSCNetworkReachabilityFlagsConnectionRequired); + } + + return NO; +} + +// Dynamic, on demand connection? +-(BOOL)isConnectionOnDemand +{ + SCNetworkReachabilityFlags flags; + + if (SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) + { + return ((flags & kSCNetworkReachabilityFlagsConnectionRequired) && + (flags & (kSCNetworkReachabilityFlagsConnectionOnTraffic | kSCNetworkReachabilityFlagsConnectionOnDemand))); + } + + return NO; +} + +// Is user intervention required? +-(BOOL)isInterventionRequired +{ + SCNetworkReachabilityFlags flags; + + if (SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) + { + return ((flags & kSCNetworkReachabilityFlagsConnectionRequired) && + (flags & kSCNetworkReachabilityFlagsInterventionRequired)); + } + + return NO; +} + + +#pragma mark - reachability status stuff + +-(NetworkStatus)currentReachabilityStatus +{ + if([self isReachable]) + { + if([self isReachableViaWiFi]) + return ReachableViaWiFi; + +#if TARGET_OS_IPHONE + return ReachableViaWWAN; +#endif + } + + return NotReachable; +} + +-(SCNetworkReachabilityFlags)reachabilityFlags +{ + SCNetworkReachabilityFlags flags = 0; + + if(SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) + { + return flags; + } + + return 0; +} + +-(NSString*)currentReachabilityString +{ + NetworkStatus temp = [self currentReachabilityStatus]; + + if(temp == reachableOnWWAN) + { + // Updated for the fact that we have CDMA phones now! + return NSLocalizedString(@"Cellular", @""); + } + if (temp == ReachableViaWiFi) + { + return NSLocalizedString(@"WiFi", @""); + } + + return NSLocalizedString(@"No Connection", @""); +} + +-(NSString*)currentReachabilityFlags +{ + return reachabilityFlags([self reachabilityFlags]); +} + +#pragma mark - Callback function calls this method + +-(void)reachabilityChanged:(SCNetworkReachabilityFlags)flags +{ + if([self isReachableWithFlags:flags]) + { + if(self.reachableBlock) + { + self.reachableBlock(self); + } + } + else + { + if(self.unreachableBlock) + { + self.unreachableBlock(self); + } + } + + // this makes sure the change notification happens on the MAIN THREAD + dispatch_async(dispatch_get_main_queue(), ^{ + [[NSNotificationCenter defaultCenter] postNotificationName:kYYReachabilityChangedNotification + object:self]; + }); +} + +#pragma mark - Debug Description + +- (NSString *) description +{ + NSString *description = [NSString stringWithFormat:@"<%@: %#x>", + NSStringFromClass([self class]), (unsigned int) self]; + return description; +} + +@end diff --git a/xplan-ios/Base/Tool/YYUtility/CarrierIdentifier.h b/xplan-ios/Base/Tool/YYUtility/CarrierIdentifier.h new file mode 100644 index 00000000..94c5bdb2 --- /dev/null +++ b/xplan-ios/Base/Tool/YYUtility/CarrierIdentifier.h @@ -0,0 +1,21 @@ +// +// CarrierIdentifier.h +// YYMobileFramework +// +// Created by wuwei on 14-5-30. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import + +// 运营商类型 +typedef NS_ENUM(NSUInteger, CarrierIdentifier) +{ + CarrierIdentifier_Unknown = 0, // 未知, 网络不可用(未插SIM卡/无信号/飞行模式) + + CarrierIdentifier_ChinaMobile = 1, // 中国移动 + CarrierIdentifier_ChinaUnicom = 2, // 中国联通 + CarrierIdentifier_ChinaTelecom = 3, // 中国电信 + + CarrierIdentifier_Otherwise = 0x0000FFFF, // 其他运营商 +}; \ No newline at end of file diff --git a/xplan-ios/Base/Tool/YYUtility/YYUtility+App.m b/xplan-ios/Base/Tool/YYUtility/YYUtility+App.m new file mode 100644 index 00000000..2ccd39bc --- /dev/null +++ b/xplan-ios/Base/Tool/YYUtility/YYUtility+App.m @@ -0,0 +1,141 @@ +// +// YYUtility+App.m +// YYMobileFramework +// +// Created by wuwei on 14-5-30. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import "YYUtility.h" + +@implementation YYUtility (App) + ++ (id)valueInPlistForKey:(NSString *)key{ + NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; + return [infoDictionary objectForKey:key]; +} + ++ (NSString *)appVersion{ + static NSString *appVersion = nil; + if (!appVersion) { + appVersion = [self valueInPlistForKey:@"CFBundleShortVersionString"]; + } + return appVersion; +} + ++ (NSString *)appName { + if (isEnterprise) { + return @"yinyouEnterprise"; // 企业包名字 区分一键登录使用 + }else { + return @"yinyou"; + } +} + ++ (NSString *)appBuild{ + static NSString *appBuild = nil; + if (!appBuild) { + appBuild = [self valueInPlistForKey:(NSString *)kCFBundleVersionKey]; + } + return appBuild; +} + ++ (NSString *)appBundleId{ + static NSString *appBundleId = nil; + if (!appBundleId) { + appBundleId = [self valueInPlistForKey:(NSString *)kCFBundleIdentifierKey]; + } + return appBundleId; +} + + ++ (NSString *)svnVersion{ + static NSString *svnVersion = nil; + if (!svnVersion) { + svnVersion = [self valueInPlistForKey:@"SvnBuildVersion"]; + } + return svnVersion; +} + +static NSString * const kMobileFrameworkResourceBundleName = @"YYMobileFrameworkRes"; + ++ (NSURL *)URLForMobileFrameworkResourceBundle{ + return [[NSBundle mainBundle] URLForResource:kMobileFrameworkResourceBundleName + withExtension:@"bundle"]; +} + ++ (NSString *)pathForMobileFrameworkResourceBundle{ + return [[NSBundle mainBundle] pathForResource:kMobileFrameworkResourceBundleName + ofType:@"bundle"]; +} + ++ (NSString *)buildType{ +#ifdef DEBUG + return @"DEBUG"; +#else + return @"RELEASE"; +#endif +} + ++ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)fileURL{ + if (![[NSFileManager defaultManager] fileExistsAtPath:[fileURL path]]) { + NSLog(@"File %@ dosen't exist!", fileURL); + return NO; + } + + NSError *error = nil; + BOOL result = [fileURL setResourceValue:[NSNumber numberWithBool:YES] + forKey:NSURLIsExcludedFromBackupKey + error:&error]; + if (!result) { + NSLog(@"Error excluding '%@' from backup, error: %@.", fileURL, error); + } + + return result; +} + +static NSString *_from = nil; + ++ (NSString *)getAppSource{ + if (_from == nil) { + NSString *path = [[NSBundle mainBundle] pathForResource:@"sourceid.dat" ofType:nil]; + + NSError *error; + NSString *from = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error]; + + // 去除换行及空格 + if (from) { + from = [self removeSpaceAndNewline:from]; + } + // 如果读到有值且不为0 + if (!error + && ![from isEqualToString:@"0"] + && ![from isEqualToString:@""]) { + _from = from; + } else { + if (isEnterprise) { + _from = @"yinyou_Enterprise"; // 企业包 + }else { + _from = @"yinyou_appstore"; // App Store包 + } + } + } + + return _from; +} + ++ (BOOL)isFromAppStore{ + if([[[YYUtility getAppSource] lowercaseString] isEqualToString:@"appstore"]){ + return YES; + } + return NO; +} + + ++ (NSString *)removeSpaceAndNewline:(NSString *)str{ + NSString *temp = [str stringByReplacingOccurrencesOfString:@" " withString:@""]; + temp = [temp stringByReplacingOccurrencesOfString:@"\r" withString:@""]; + temp = [temp stringByReplacingOccurrencesOfString:@"\n" withString:@""]; + return temp; +} + +@end diff --git a/xplan-ios/Base/Tool/YYUtility/YYUtility+Carrier.m b/xplan-ios/Base/Tool/YYUtility/YYUtility+Carrier.m new file mode 100644 index 00000000..7e4f1c71 --- /dev/null +++ b/xplan-ios/Base/Tool/YYUtility/YYUtility+Carrier.m @@ -0,0 +1,88 @@ +// +// YYUtility+Carrier.m +// YYFoundation +// +// Created by wuwei on 14-5-30. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import "YYUtility.h" +#import +#import +#import "CarrierIdentifier.h" + +/* + * The most update-to-date list of MNC&MCC is fetched + * from the website below: http://www.mcc-mnc.com + */ +// MCCs +static NSString * const kMobileCountryCode_China = @"460"; // 中国 + +// MNCs +static NSSet * kMobileNetworkCodes_ChinaMobile; // 移动 +static NSSet * kMobileNetworkCodes_ChinaUnicom; // 联通 +static NSSet * kMobileNetworkCodes_ChinaTelecom; // 电信 + +@implementation YYUtility (Carrier) + ++ (void)load +{ + if (self == [YYUtility self]) { + kMobileNetworkCodes_ChinaMobile = [NSSet setWithObjects:@"00", @"02", @"07", nil]; // 中国移动 + kMobileNetworkCodes_ChinaUnicom = [NSSet setWithObjects:@"01", @"06", nil]; // 中国联通 + kMobileNetworkCodes_ChinaTelecom = [NSSet setWithObjects:@"03", @"05", nil]; // 中国电信 + } +} + ++ (NSString *)carrierName +{ + return [self carrier].carrierName; +} + ++ (NSInteger)carrierIdentifier +{ + return [self identifierOfCarrier:[self carrier]]; +} + ++ (CTCarrier *)carrier +{ + return [[CTTelephonyNetworkInfo alloc] init].subscriberCellularProvider; +} + ++ (NSInteger)identifierOfCarrier:(CTCarrier *)carrier +{ + CarrierIdentifier identifier = CarrierIdentifier_Unknown; + do { + if (carrier.mobileCountryCode == nil || carrier.mobileNetworkCode == nil) + { + identifier = CarrierIdentifier_Unknown; + break; + } + + if ([carrier.mobileCountryCode isEqualToString:kMobileCountryCode_China]) + { + if ([kMobileNetworkCodes_ChinaMobile containsObject:carrier.mobileNetworkCode]) + { + identifier = CarrierIdentifier_ChinaMobile; + break; + } + else if ([kMobileNetworkCodes_ChinaUnicom containsObject:carrier.mobileNetworkCode]) + { + identifier = CarrierIdentifier_ChinaUnicom; + break; + } + else if ([kMobileNetworkCodes_ChinaTelecom containsObject:carrier.mobileNetworkCode]) + { + identifier = CarrierIdentifier_ChinaTelecom; + break; + } + } + + identifier = CarrierIdentifier_Otherwise; + + } while (0); + + return identifier; +} + +@end diff --git a/xplan-ios/Base/Tool/YYUtility/YYUtility+Device.m b/xplan-ios/Base/Tool/YYUtility/YYUtility+Device.m new file mode 100644 index 00000000..c94c2bae --- /dev/null +++ b/xplan-ios/Base/Tool/YYUtility/YYUtility+Device.m @@ -0,0 +1,538 @@ +// +// YYUtility+Device.m +// YYMobileFramework +// +// Created by wuwei on 14-5-30. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import +#import +#import + +#import "YYUtility.h" +#import +#import +#import +#import +#import "YYReachability.h" +#import + +#import +#import +#import +#import "SSKeychain.h" +#import "GCDHelper.h" + + +#if !defined(IFT_ETHER) +#define IFT_ETHER 0x6 +#endif + +#define kIOSCellular @"pdp_ip0" +#define kIOSWifi @"en0" +#define kIPAddrV4 @"ipv4" +#define kIPAddrV6 @"ipv6" +#define kAppName @"yym51ip" + +@implementation YYUtility (Device) + ++ (NSString *)modelName +{ + static NSString *modelName = nil; + if (!modelName) { + struct utsname systemInfo; + uname(&systemInfo); + modelName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; + } + return modelName; +} + ++ (NSString *)systemVersion +{ + // 调用非常频繁,主要在cleanSpecialText中 + static NSString* _systemVersion = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + _systemVersion = [UIDevice currentDevice].systemVersion;; + }); + + if (_systemVersion) { + return _systemVersion; + } + + return [UIDevice currentDevice].systemVersion; +} + ++ (NSString *)identifierForVendor +{ + static NSString *idfv = nil; + if (!idfv) { + idfv = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; + } + return idfv; +} + ++ (NSString *)deviceID +{ + NSString *deviceID = @""; + if (!deviceID || deviceID.length == 0) { + deviceID = [YYUtility identifierForVendor]; + } + + if (!deviceID) { + deviceID = @""; + } + + return deviceID; +} + ++ (NSInteger)networkStatus +{ + return (self.reachability.currentReachabilityStatus); +} + ++ (YYReachability *)reachability +{ + static YYReachability *reachability = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + reachability = [YYReachability reachabilityForInternetConnection]; + }); + return reachability; +} + + ++ (void)checkCameraAvailable:(void (^)(void))available denied:(void(^)(void))denied restriction:(void(^)(void))restriction +{ + available = available ? : ^{}; + denied = denied ? : ^{}; + restriction = restriction ? : ^{}; + + if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) + { + // iOS7下,需要检查iPhone的隐私和访问限制项 + AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; + switch (authStatus) { + case AVAuthorizationStatusAuthorized: + { + available(); + break; + } + case AVAuthorizationStatusDenied: + { + // [设置->隐私->相机]中禁止了YY访问相机 + denied(); + break; + } + case AVAuthorizationStatusRestricted: + { + // NOTE: 这个跟[设置-通用-访问限制]似乎没有关系 + restriction(); + break; + } + case AVAuthorizationStatusNotDetermined: + { + [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) { + + dispatch_main_sync_safe(^{ + if (granted) + { + available(); + } + else + { + denied(); + } + + }); + + }]; + } + + default: + break; + } + } + else + { + restriction(); + } +} + ++ (void)checkAssetsLibrayAvailable:(void (^)(void))available denied:(void(^)(void))denied restriction:(void(^)(void))restriction +{ + available = available ? : ^{}; + denied = denied ? : ^{}; + restriction = restriction ? : ^{}; + + if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary] || + [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) { + ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus]; + if (author == ALAuthorizationStatusNotDetermined) { + ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc] init]; + [assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { + if (*stop) { + available(); + return; + } + *stop = TRUE; + } failureBlock:^(NSError *error) { + denied(); + }]; + }else if (author == ALAuthorizationStatusDenied) { + denied(); + }else if(author == ALAuthorizationStatusRestricted) { + restriction(); + }else if(author == ALAuthorizationStatusAuthorized) { + available(); + } + }else { + restriction(); + } +} + ++ (void)checkMicPrivacy:(void(^)(BOOL succeed))resultBlock +{ + [[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) { + if (resultBlock) { + dispatch_async(dispatch_get_main_queue(), ^{ + resultBlock(granted); + }); + } + }]; +} + ++ (NSString *)deviceUniqueIdentification { + // SSKeychain + NSString * currentDeviceUUIDStr = [SSKeychain passwordForService:@" " account:@"uuid"]; + if (currentDeviceUUIDStr == nil || [currentDeviceUUIDStr isEqualToString:@""]) + { + NSUUID * currentDeviceUUID = [UIDevice currentDevice].identifierForVendor; + currentDeviceUUIDStr = currentDeviceUUID.UUIDString; + currentDeviceUUIDStr = [currentDeviceUUIDStr stringByReplacingOccurrencesOfString:@"-" withString:@""]; + currentDeviceUUIDStr = [currentDeviceUUIDStr lowercaseString]; + [SSKeychain setPassword: currentDeviceUUIDStr forService:@" "account:@"uuid"]; + } + return currentDeviceUUIDStr; +} + ++ (NSString *)ipAddress +{ + return [self ipAddress:YES]; +} + ++ (NSString *)ipAddress:(BOOL)preferIPv4 +{ + NSArray *searchArray = preferIPv4 ? + @[ kIOSWifi @"/" kIPAddrV4, kIOSWifi @"/" kIPAddrV6, kIOSCellular @"/" kIPAddrV4, kIOSCellular @"/" kIPAddrV6 ] : + @[ kIOSWifi @"/" kIPAddrV6, kIOSWifi @"/" kIPAddrV4, kIOSCellular @"/" kIPAddrV6, kIOSCellular @"/" kIPAddrV4 ] ; + + NSDictionary *addresses = [self getIpAddresses]; + + __block NSString *addr; + [searchArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + addr = addresses[obj]; + if (addr) { + *stop = YES; + } + }]; + return addr ? : @"0.0.0.0"; +} + ++ (NSDictionary *)getIpAddresses +{ + NSMutableDictionary *addresses = [NSMutableDictionary dictionary]; + + // retrieve the current interfaces - return 0 on success + struct ifaddrs *interfaces; + if (!getifaddrs(&interfaces)) { + // Loop through linked list of interfaces + struct ifaddrs *interface; + for (interface = interfaces; interface; interface = interface->ifa_next) { + if (!(interface -> ifa_flags & IFF_UP)) { + continue; + } + const struct sockaddr_in *addr = (const struct sockaddr_in *)interface->ifa_addr; + char addrBuf[MAX(INET_ADDRSTRLEN, INET6_ADDRSTRLEN) + 2]; + if (addr && (addr->sin_family == AF_INET || addr->sin_family == AF_INET6)) { + NSString *ifaName = [NSString stringWithUTF8String:interface->ifa_name]; + NSString *ifaType; + if (addr->sin_family == AF_INET) { + if (inet_ntop(AF_INET, &addr->sin_addr, addrBuf, INET_ADDRSTRLEN)) { + ifaType = kIPAddrV4; + } + } else { + const struct sockaddr_in6 *addr6 = (const struct sockaddr_in6 *)interface->ifa_addr; + if (inet_ntop(AF_INET6, &addr6->sin6_addr, addrBuf, INET6_ADDRSTRLEN)) { + ifaType = kIPAddrV6; + } + } + if (ifaType) { + NSString *key = [NSString stringWithFormat:@"%@/%@", ifaName, ifaType]; + addresses[key] = [NSString stringWithUTF8String:addrBuf]; + } + } + } + } + // free memory + freeifaddrs(interfaces); + return addresses; +} + ++ (NSString *)macAddresss +{ + static NSMutableString *macAddress = nil; + + if ([macAddress length] > 0) { + return macAddress; + } + + do + { + struct ifaddrs* addrs; + if ( getifaddrs( &addrs ) ) + break; + + const struct ifaddrs *cursor = addrs; + while ( cursor ) + { + if ( ( cursor->ifa_addr->sa_family == AF_LINK ) + && strcmp( "en0", cursor->ifa_name ) == 0 + && ( ( ( const struct sockaddr_dl * )cursor->ifa_addr)->sdl_type == IFT_ETHER ) ) + { + const struct sockaddr_dl *dlAddr = ( const struct sockaddr_dl * )cursor->ifa_addr; + const uint8_t *base = ( const uint8_t * )&dlAddr->sdl_data[dlAddr->sdl_nlen]; + + macAddress = [[NSMutableString alloc] initWithCapacity:64]; + + for ( int i = 0; i < dlAddr->sdl_alen; i++ ) + { + if (i > 0) { + [macAddress appendFormat:@":%02X", base[i]]; + } + else + { + [macAddress appendFormat:@"%02X", base[i]]; + } + } + + break; + } + cursor = cursor->ifa_next; + } + freeifaddrs(addrs); + } while (NO); + + if (macAddress == nil) { + macAddress = [NSMutableString stringWithString:@""]; + } + + return macAddress; +} + ++ (NSString *)idfa +{ + static NSString *idfa = nil; + if (!idfa) { + if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0) { + idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; + } else { + idfa = @""; + } + } + return idfa; +} + + ++ (NSString*)modelType { + + struct utsname systemInfo; + + uname(&systemInfo); + + NSString*platform = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding]; + + if([platform isEqualToString:@"iPhone1,1"])return@"iPhone 2G"; + + if([platform isEqualToString:@"iPhone1,2"])return@"iPhone 3G"; + + if([platform isEqualToString:@"iPhone2,1"])return@"iPhone 3GS"; + + if([platform isEqualToString:@"iPhone3,1"])return@"iPhone 4"; + + if([platform isEqualToString:@"iPhone3,2"])return@"iPhone 4"; + + if([platform isEqualToString:@"iPhone3,3"])return@"iPhone 4"; + + if([platform isEqualToString:@"iPhone4,1"])return@"iPhone 4S"; + + if([platform isEqualToString:@"iPhone5,1"])return@"iPhone 5"; + + if([platform isEqualToString:@"iPhone5,2"])return@"iPhone 5"; + + if([platform isEqualToString:@"iPhone5,3"])return@"iPhone 5c"; + + if([platform isEqualToString:@"iPhone5,4"])return@"iPhone 5c"; + + if([platform isEqualToString:@"iPhone6,1"])return@"iPhone 5s"; + + if([platform isEqualToString:@"iPhone6,2"])return@"iPhone 5s"; + + if([platform isEqualToString:@"iPhone7,1"])return@"iPhone 6 Plus"; + + if([platform isEqualToString:@"iPhone7,2"])return@"iPhone 6"; + + if([platform isEqualToString:@"iPhone8,1"])return@"iPhone 6s"; + + if([platform isEqualToString:@"iPhone8,2"])return@"iPhone 6s Plus"; + + if([platform isEqualToString:@"iPhone8,4"])return@"iPhone SE"; + + if([platform isEqualToString:@"iPhone9,1"])return@"iPhone 7"; + + if([platform isEqualToString:@"iPhone9,2"])return@"iPhone 7 Plus"; + + if([platform isEqualToString:@"iPhone10,1"])return@"iPhone 8"; + + if([platform isEqualToString:@"iPhone10,4"])return@"iPhone 8"; + + if([platform isEqualToString:@"iPhone10,2"])return@"iPhone 8 Plus"; + + if([platform isEqualToString:@"iPhone10,5"])return@"iPhone 8 Plus"; + + if([platform isEqualToString:@"iPhone10,3"])return@"iPhone X"; + + if([platform isEqualToString:@"iPhone10,6"])return@"iPhone X"; + + if([platform isEqualToString:@"iPod1,1"])return@"iPod Touch 1G"; + + if([platform isEqualToString:@"iPod2,1"])return@"iPod Touch 2G"; + + if([platform isEqualToString:@"iPod3,1"])return@"iPod Touch 3G"; + + if([platform isEqualToString:@"iPod4,1"])return@"iPod Touch 4G"; + + if([platform isEqualToString:@"iPod5,1"])return@"iPod Touch 5G"; + + if([platform isEqualToString:@"iPad1,1"])return@"iPad 1G"; + + if([platform isEqualToString:@"iPad2,1"])return@"iPad 2"; + + if([platform isEqualToString:@"iPad2,2"])return@"iPad 2"; + + if([platform isEqualToString:@"iPad2,3"])return@"iPad 2"; + + if([platform isEqualToString:@"iPad2,4"])return@"iPad 2"; + + if([platform isEqualToString:@"iPad2,5"])return@"iPad Mini 1G"; + + if([platform isEqualToString:@"iPad2,6"])return@"iPad Mini 1G"; + + if([platform isEqualToString:@"iPad2,7"])return@"iPad Mini 1G"; + + if([platform isEqualToString:@"iPad3,1"])return@"iPad 3"; + + if([platform isEqualToString:@"iPad3,2"])return@"iPad 3"; + + if([platform isEqualToString:@"iPad3,3"])return@"iPad 3"; + + if([platform isEqualToString:@"iPad3,4"])return@"iPad 4"; + + if([platform isEqualToString:@"iPad3,5"])return@"iPad 4"; + + if([platform isEqualToString:@"iPad3,6"])return@"iPad 4"; + + if([platform isEqualToString:@"iPad4,1"])return@"iPad Air"; + + if([platform isEqualToString:@"iPad4,2"])return@"iPad Air"; + + if([platform isEqualToString:@"iPad4,3"])return@"iPad Air"; + + if([platform isEqualToString:@"iPad4,4"])return@"iPad Mini 2G"; + + if([platform isEqualToString:@"iPad4,5"])return@"iPad Mini 2G"; + + if([platform isEqualToString:@"iPad4,6"])return@"iPad Mini 2G"; + + if([platform isEqualToString:@"iPad4,7"])return@"iPad Mini 3"; + + if([platform isEqualToString:@"iPad4,8"])return@"iPad Mini 3"; + + if([platform isEqualToString:@"iPad4,9"])return@"iPad Mini 3"; + + if([platform isEqualToString:@"iPad5,1"])return@"iPad Mini 4"; + + if([platform isEqualToString:@"iPad5,2"])return@"iPad Mini 4"; + + if([platform isEqualToString:@"iPad5,3"])return@"iPad Air 2"; + + if([platform isEqualToString:@"iPad5,4"])return@"iPad Air 2"; + + if([platform isEqualToString:@"iPad6,3"])return@"iPad Pro 9.7"; + + if([platform isEqualToString:@"iPad6,4"])return@"iPad Pro 9.7"; + + if([platform isEqualToString:@"iPad6,7"])return@"iPad Pro 12.9"; + + if([platform isEqualToString:@"iPad6,8"])return@"iPad Pro 12.9"; + + if([platform isEqualToString:@"i386"])return@"iPhone Simulator"; + + if([platform isEqualToString:@"x86_64"])return@"iPhone Simulator"; + + return platform; + +} + +// 当前设备是否低于, 等于 iPhone6 ++ (BOOL)isIphone6AndLow { + struct utsname systemInfo; + + uname(&systemInfo); + + NSString*platform = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding]; + if([platform isEqualToString:@"iPhone1,1"])return YES; + + if([platform isEqualToString:@"iPhone1,2"])return YES; + + if([platform isEqualToString:@"iPhone2,1"])return YES; + + if([platform isEqualToString:@"iPhone3,1"])return YES; + + if([platform isEqualToString:@"iPhone3,2"])return YES; + + if([platform isEqualToString:@"iPhone3,3"])return YES; + + if([platform isEqualToString:@"iPhone4,1"])return YES; + + if([platform isEqualToString:@"iPhone5,1"])return YES; + + if([platform isEqualToString:@"iPhone5,2"])return YES; + + if([platform isEqualToString:@"iPhone5,3"])return YES; + + if([platform isEqualToString:@"iPhone5,4"])return YES; + + if([platform isEqualToString:@"iPhone6,1"])return YES; + + if([platform isEqualToString:@"iPhone6,2"])return YES; + + if([platform isEqualToString:@"iPhone7,1"])return YES; + + if([platform isEqualToString:@"iPhone7,2"])return YES; + + if ([platform isEqualToString:@"iPhone8,1"]) return YES; + + if ([platform isEqualToString:@"iPhone8,3"]) return YES; + + if ([platform isEqualToString:@"iPhone8,4"]) return YES; + + if ([platform isEqualToString:@"iPhone9,1"]) return YES; + + if ([platform isEqualToString:@"iPhone9,3"]) return YES; + + return NO; +} + +@end diff --git a/xplan-ios/Base/Tool/YYUtility/YYUtility.h b/xplan-ios/Base/Tool/YYUtility/YYUtility.h new file mode 100644 index 00000000..2ae4cb10 --- /dev/null +++ b/xplan-ios/Base/Tool/YYUtility/YYUtility.h @@ -0,0 +1,225 @@ +// +// YYUtility.h +// YYMobileFramework +// +// Created by wuwei on 14/6/11. +// Copyright (c) 2014年 YY.inc. All rights reserved. +// + +#import + +@class CTCarrier; + +@interface YYUtility : NSObject + +@end + +/*==============================*/ +/* App Utilities */ +/*==============================*/ +@interface YYUtility (App) + +/** + * 从YYMobile-Info.plist中读取字段 + * + * @param key 键 + * + * @return 值 + */ ++ (id)valueInPlistForKey:(NSString *)key; + +/** + * 获取App版本号, 从plist从读取CFBundleShortVersion + */ ++ (NSString *)appVersion; + +/** + * 获取AppBuild号, 从plist中读取CFBundleVersion + */ ++ (NSString *)appBuild; + +/** + * 当前构建出的版本在svn中的版本号 + */ ++ (NSString *)svnVersion; + +/** + 获取appName + + @return app的名称 + */ ++ (NSString *)appName; + +/** + * 获取bundle id + * + * @return bundle id + */ ++ (NSString *)appBundleId; + +/** + * 获取YYMobileFrameworkRes.bundle的URL + */ ++ (NSURL *)URLForMobileFrameworkResourceBundle; + +/** + * 获取YYMobileFrameworkRes.bundle的路径 + */ ++ (NSString *)pathForMobileFrameworkResourceBundle; + ++ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)fileURL; + +/** + * 获取当前的构建类型(DEBUG/RELEASE) + * + * @return 构建类型 + */ ++ (NSString *)buildType; + +/** + * 获取平台渠道 + */ ++ (NSString *)getAppSource; + +/** + * 是否来自appstore + */ ++ (BOOL)isFromAppStore; + +@end + +/*==============================*/ +/* Carrier Utilities */ +/*==============================*/ +@interface YYUtility (Carrier) + + +/** + 获取设备唯一标识 + + @return 唯一标识 + */ ++ (NSString *)deviceUniqueIdentification; + +/** + * 获取运营商 + */ ++ (CTCarrier *)carrier; + +/** + * 获取运营商类型 + */ ++ (NSInteger)carrierIdentifier; + +/** + * 获取运营商名称 + */ ++ (NSString *)carrierName; + +/** + * 从CTCarrier对象获取网络类型 + * @param carrier - CTCarrier对象 + * @return CarrierType + */ ++ (NSInteger)identifierOfCarrier:(CTCarrier *)carrier; + +@end + +/*==============================*/ +/* Device Utilities */ +/*==============================*/ +@interface YYUtility (Device) + +/** + * 获取modelName, 如iPhone5,2 + */ ++ (NSString *)modelName; + + +/** + 获取设备类型 + + @return 设备类型 + */ ++ (NSString*)modelType; + +/** + * 获取系统版本 + */ ++ (NSString *)systemVersion; + +/** + * 获取当前设备的 IDFV,IDFV 在某些情况下会变,不建议将其作为设备标识 + */ ++ (NSString *)identifierForVendor NS_AVAILABLE_IOS(6_0); + +/** + * 获取当前的设备标识,会使用海度 SDK 中的 OpenUDID + * + * @return 海度 SDK 缓存的 OpenUDID + */ ++ (NSString *)deviceID; + +/** + * 获取当前网络状态 + */ ++ (NSInteger)networkStatus; + +/** + * 获取当前IP地址 + */ ++ (NSString *)ipAddress; + +/** + * 获取当前IP地址 + * + * @param preferIPv4 优先取IPv4的地址 + */ ++ (NSString *)ipAddress:(BOOL)preferIPv4; + +/** + * 检查Camera是否可用, 可用则调用available; 若隐私设置中禁用了本app对相机 + * 的访问, 则调用denied; 否则视为被限制, 调用restriction + * + * @param available 可用 + * @param denied 不可用 + * @param restriction 受限制 + */ ++ (void)checkCameraAvailable:(void (^)(void))available denied:(void(^)(void))denied restriction:(void(^)(void))restriction; + +/** + * 检查相册是否可用, 可用则调用available; 若隐私设置中禁用了本app对相册 + * 的访问, 则调用denied; 否则视为被限制, 调用restriction + * + * @param available 可用 + * @param denied 不可用 + * @param restriction 受限制 + */ ++ (void)checkAssetsLibrayAvailable:(void (^)(void))available denied:(void(^)(void))denied restriction:(void(^)(void))restriction; + +/** + 检查麦克风权限 + + @param resultBlock 结果处理block + */ ++ (void)checkMicPrivacy:(void(^)(BOOL succeed))resultBlock; + ++ (NSString *)macAddresss; ++ (NSString *)idfa; + +/** + * 初始化信令sdk,imsdk所用到的appName + * + * @return app name + */ ++ (NSString *)appName; + + +/** + 当前设备是否低于, 等于 iPhone6 + + @return 当前设备是否低于, 等于 iPhone6 + */ ++ (BOOL)isIphone6AndLow; + +@end diff --git a/xplan-ios/Base/Tool/YYUtility/YYUtility.m b/xplan-ios/Base/Tool/YYUtility/YYUtility.m new file mode 100644 index 00000000..e95021f0 --- /dev/null +++ b/xplan-ios/Base/Tool/YYUtility/YYUtility.m @@ -0,0 +1,13 @@ +// +// YYUtility.m +// YYMobileFramework +// +// Created by wuwei on 14-5-30. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import "YYUtility.h" + +@implementation YYUtility + +@end diff --git a/xplan-ios/Base/UI/BaseViewController.h b/xplan-ios/Base/UI/BaseViewController.h new file mode 100644 index 00000000..d845c7fd --- /dev/null +++ b/xplan-ios/Base/UI/BaseViewController.h @@ -0,0 +1,38 @@ +// +// BaseViewController.h +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface BaseViewController : UIViewController + +/** + 显示/隐藏导航 + */ +- (void)hideNavigationBar; + +/** + 隐藏导航栏 + */ +- (void)showNavigationBar; + + +/** + 显示/隐藏状态栏 + */ +- (void)showStatusBar; + + +/** + 隐藏状态栏 + */ +- (void)hideStatusBar; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Base/UI/BaseViewController.m b/xplan-ios/Base/UI/BaseViewController.m new file mode 100644 index 00000000..646da5b7 --- /dev/null +++ b/xplan-ios/Base/UI/BaseViewController.m @@ -0,0 +1,70 @@ +// +// BaseViewController.m +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "BaseViewController.h" + +@interface BaseViewController () + +@end + +@implementation BaseViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self themeConfig]; +} + +- (void)themeConfig { + self.view.backgroundColor = ThemeBackgroundColor; + + [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; + self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init]; + self.navigationController.navigationBar.barTintColor = ThemeBackgroundColor; + self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; + self.navigationController.navigationBar.translucent = NO; + + UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; + self.navigationItem.backBarButtonItem = item; + + [self.navigationController.navigationBar setTitleTextAttributes:@{ + NSFontAttributeName:[UIFont systemFontOfSize:18], + NSForegroundColorAttributeName:UIColor.whiteColor + }]; + self.navigationItem.title = @"音游"; +} + +/** + 隐藏导航条 + */ +- (void)hideNavigationBar { + [self.navigationController setNavigationBarHidden:YES]; +} + + +/** + 显示导航条 + */ +- (void)showNavigationBar { + [self.navigationController setNavigationBarHidden:NO]; +} + +/** + 显示状态栏 + */ +- (void)showStatusBar { + [UIApplication sharedApplication].statusBarHidden = NO; +} + +/** + 隐藏状态栏 + */ +- (void)hideStatusBar { + [UIApplication sharedApplication].statusBarHidden = YES; +} + + +@end diff --git a/xplan-ios/Base/UI/UIImage+Utils.h b/xplan-ios/Base/UI/UIImage+Utils.h new file mode 100644 index 00000000..54928b16 --- /dev/null +++ b/xplan-ios/Base/UI/UIImage+Utils.h @@ -0,0 +1,43 @@ +// +// UIImage+Utils.h +// YYMobileFramework +// +// Created by wuwei on 14/6/20. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import + +typedef NS_ENUM(NSUInteger, GradientType) { + GradientTypeTopToBottom = 0,//从上到小 + GradientTypeLeftToRight = 1,//从左到右 + GradientTypeUpleftToLowright = 2,//左上到右下 + GradientTypeUprightToLowleft = 3,//右上到左下 +}; + +@interface UIImage (Utils) + +- (UIImage *)grayscaleImage; + +- (UIImage *)imageBlendInGray; + +- (UIImage *)imageWithBlendMode:(CGBlendMode)blendMode; + ++ (UIImage *)imageWithColor:(UIColor *)color; + ++ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size; + ++ (UIImage *)fixOrientation:(UIImage *)aImage; + +- (UIImage *)imageWithColor:(UIColor *)color; + +- (UIImage *)setCornerWithRadius:(CGFloat)radius andSize:(CGSize)size; + + +//异步生成纯色圆角图片 +- (void)imageWithSize:(CGSize)size radius:(CGFloat)radius backColor:(UIColor *)backColor completion:(void(^)(UIImage *image))completion; +/** + 返回指定大小,颜色,渐变模式的渐变色图片 + */ ++ (UIImage *)gradientColorImageFromColors:(NSArray*)colors gradientType:(GradientType)gradientType imgSize:(CGSize)imgSize; +@end diff --git a/xplan-ios/Base/UI/UIImage+Utils.m b/xplan-ios/Base/UI/UIImage+Utils.m new file mode 100644 index 00000000..425526da --- /dev/null +++ b/xplan-ios/Base/UI/UIImage+Utils.m @@ -0,0 +1,301 @@ +// +// UIImage+Utils.m +// YYMobileFramework +// +// Created by wuwei on 14/6/20. +// Copyright (c) 2014年 YY Inc. All rights reserved. +// + +#import "UIImage+Utils.h" +#import + +@implementation UIImage (Utils) +- (UIImage *)grayscaleImage +{ + CGFloat width = self.size.width; + CGFloat height = self.size.height; + + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray(); + + CGContextRef context = CGBitmapContextCreate(nil, + width, + height, + 8, + 0, + colorSpace, + kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast); + CGColorSpaceRelease(colorSpace); + + if (context == NULL) { + return nil; + } + + CGContextDrawImage(context, CGRectMake(0, 0, width, height), self.CGImage); + CGImageRef imageRef = CGBitmapContextCreateImage(context); + UIImage *grayscaleImage = [UIImage imageWithCGImage:imageRef]; + CGImageRelease(imageRef); + CGContextRelease(context); + + return grayscaleImage; +} + + +- (UIImage *)imageBlendInGray { + + UIGraphicsBeginImageContext(self.size); + CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height); + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextFillRect(context, bounds); + [self drawInRect:bounds blendMode:kCGBlendModeLuminosity alpha:1.0f]; + [self drawInRect:bounds blendMode:kCGBlendModeDestinationIn alpha:1.0f]; + UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + return newImg; +} + + + +- (UIImage *)imageWithBlendMode:(CGBlendMode)blendMode { + + UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0f); + CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height); + UIRectFill(bounds); + + [self drawInRect:bounds blendMode:blendMode alpha:1.0f]; + + if (blendMode != kCGBlendModeDestinationIn) { + [self drawInRect:bounds blendMode:kCGBlendModeDestinationIn alpha:1.0f]; + } + UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return newImg; +} + ++ (UIImage *)imageWithColor:(UIColor *)color +{ + return [self imageWithColor:color size:CGSizeMake(1, 1)]; +} + ++ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size { + if (!color || size.width <= 0 || size.height <= 0) return nil; + CGRect rect = CGRectMake(0.0f, 0.0f, size.width + 1, size.height); + UIGraphicsBeginImageContextWithOptions(rect.size, NO, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextSetFillColorWithColor(context, color.CGColor); + CGContextFillRect(context, rect); + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + ++ (UIImage *)fixOrientation:(UIImage *)aImage { + + // No-op if the orientation is already correct + if (aImage.imageOrientation == UIImageOrientationUp) + return aImage; + + // We need to calculate the proper transformation to make the image upright. + // We do it in 2 steps: Rotate if Left/Right/Down, and then flip if Mirrored. + CGAffineTransform transform = CGAffineTransformIdentity; + + switch (aImage.imageOrientation) { + case UIImageOrientationDown: + case UIImageOrientationDownMirrored: + transform = CGAffineTransformTranslate(transform, aImage.size.width, aImage.size.height); + transform = CGAffineTransformRotate(transform, M_PI); + break; + + case UIImageOrientationLeft: + case UIImageOrientationLeftMirrored: + transform = CGAffineTransformTranslate(transform, aImage.size.width, 0); + transform = CGAffineTransformRotate(transform, M_PI_2); + break; + + case UIImageOrientationRight: + case UIImageOrientationRightMirrored: + transform = CGAffineTransformTranslate(transform, 0, aImage.size.height); + transform = CGAffineTransformRotate(transform, -M_PI_2); + break; + default: + break; + } + + switch (aImage.imageOrientation) { + case UIImageOrientationUpMirrored: + case UIImageOrientationDownMirrored: + transform = CGAffineTransformTranslate(transform, aImage.size.width, 0); + transform = CGAffineTransformScale(transform, -1, 1); + break; + + case UIImageOrientationLeftMirrored: + case UIImageOrientationRightMirrored: + transform = CGAffineTransformTranslate(transform, aImage.size.height, 0); + transform = CGAffineTransformScale(transform, -1, 1); + break; + default: + break; + } + + // Now we draw the underlying CGImage into a new context, applying the transform + // calculated above. + CGContextRef ctx = CGBitmapContextCreate(NULL, aImage.size.width, aImage.size.height, + CGImageGetBitsPerComponent(aImage.CGImage), 0, + CGImageGetColorSpace(aImage.CGImage), + CGImageGetBitmapInfo(aImage.CGImage)); + CGContextConcatCTM(ctx, transform); + switch (aImage.imageOrientation) { + case UIImageOrientationLeft: + case UIImageOrientationLeftMirrored: + case UIImageOrientationRight: + case UIImageOrientationRightMirrored: + // Grr... + CGContextDrawImage(ctx, CGRectMake(0,0,aImage.size.height,aImage.size.width), aImage.CGImage); + break; + + default: + CGContextDrawImage(ctx, CGRectMake(0,0,aImage.size.width,aImage.size.height), aImage.CGImage); + break; + } + + // And now we just create a new UIImage from the drawing context + CGImageRef cgimg = CGBitmapContextCreateImage(ctx); + UIImage *img = [UIImage imageWithCGImage:cgimg]; + CGContextRelease(ctx); + CGImageRelease(cgimg); + return img; +} + +- (UIImage *)imageWithColor:(UIColor *)color { + CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); + UIGraphicsBeginImageContext(rect.size); + CGContextRef context = UIGraphicsGetCurrentContext(); + + CGContextSetFillColorWithColor(context, [color CGColor]); + CGContextFillRect(context, rect); + + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + return image; + +} + +//异步生成纯色圆角图片 +- (void)imageWithSize:(CGSize)size radius:(CGFloat)radius backColor:(UIColor *)backColor completion:(void(^)(UIImage *image))completion { + // 异步绘制裁切 + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + // 利用绘图建立上下文 + UIGraphicsBeginImageContextWithOptions(size, true, 0); + CGRect rect = CGRectMake(0, 0, size.width, size.height); + // 填充颜色 + [backColor setFill]; + UIRectFill(rect); + // // 贝塞尔裁切 + // UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius]; + // [path addClip]; + // [self drawInRect:rect]; + + // 获取结果 + UIImage *resultImage = [UIGraphicsGetImageFromCurrentImageContext() circularImage]; + // 关闭上下文 + UIGraphicsEndImageContext(); + // 主队列回调 + dispatch_async(dispatch_get_main_queue(), ^{ + completion(resultImage); + }); + }); + +} + +- (UIImage *)circularImage { + // 1. 开启图形上下文 + UIGraphicsBeginImageContextWithOptions(self.size, NO, 0); + + // 2. 描述路径 + + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, self.size.width, self.size.height) byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(self.size.width, self.size.height)]; + // UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, self.size.width, self.size.height)]; + + // 3. 添加裁减区域 + [path addClip]; + + // 4. 绘制图片 + [self drawAtPoint:CGPointZero]; + + // 5. 从上下文获取图片 + UIImage * image = UIGraphicsGetImageFromCurrentImageContext(); + + // 6. 关闭上下文 + UIGraphicsEndImageContext(); + + // 7. 设置图片 + return image; +} + ++ (UIImage *)gradientColorImageFromColors:(NSArray *)colors gradientType:(GradientType)gradientType imgSize:(CGSize)imgSize{ + + NSMutableArray *ar = [NSMutableArray array]; + for(UIColor *c in colors) { + [ar addObject:(id)c.CGColor]; + } + UIGraphicsBeginImageContextWithOptions(imgSize, YES, 1); + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextSaveGState(context); + CGColorSpaceRef colorSpace = CGColorGetColorSpace([[colors lastObject] CGColor]); + CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef)ar, NULL); + CGPoint start; + CGPoint end; + switch (gradientType) { + case GradientTypeTopToBottom: + start = CGPointMake(0.0, 0.0); + end = CGPointMake(0.0, imgSize.height); + break; + case GradientTypeLeftToRight: + start = CGPointMake(0.0, 0.0); + end = CGPointMake(imgSize.width, 0.0); + break; + case GradientTypeUpleftToLowright: + start = CGPointMake(0.0, 0.0); + end = CGPointMake(imgSize.width, imgSize.height); + break; + case GradientTypeUprightToLowleft: + start = CGPointMake(imgSize.width, 0.0); + end = CGPointMake(0.0, imgSize.height); + break; + default: + break; + } + CGContextDrawLinearGradient(context, gradient, start, end, kCGGradientDrawsBeforeStartLocation | kCGGradientDrawsAfterEndLocation); + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + CGGradientRelease(gradient); + CGContextRestoreGState(context); + CGColorSpaceRelease(colorSpace); + UIGraphicsEndImageContext(); + + return image; +} + +- (UIImage *)setCornerWithRadius:(CGFloat)radius andSize:(CGSize)size { + //开启图形上下文 + UIGraphicsBeginImageContext(size); + //绘制圆角矩形 + CGRect rect = CGRectMake(0, 0, size.width, size.height); + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(radius, radius)]; + //将Path添加到上下文中 + CGContextAddPath(UIGraphicsGetCurrentContext(), path.CGPath); + //裁剪上下文 + CGContextClip(UIGraphicsGetCurrentContext()); + //将图片绘制到上下文中 + [self drawInRect:rect]; + //设置绘制模式 + CGContextDrawPath(UIGraphicsGetCurrentContext(), kCGPathStroke); + //获取图片 + UIImage *output = UIGraphicsGetImageFromCurrentImageContext(); + //关闭上下文 + UIGraphicsEndImageContext(); + //返回裁剪好的图片 + return output; +} + +@end diff --git a/xplan-ios/Base/UI/XCHUDTool.h b/xplan-ios/Base/UI/XCHUDTool.h new file mode 100644 index 00000000..185eefb3 --- /dev/null +++ b/xplan-ios/Base/UI/XCHUDTool.h @@ -0,0 +1,134 @@ +// +// XCHUDTool.h +// TTPlay +// +// Created by Macx on 2019/5/15. +// Copyright © 2019 YiZhuan. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + showGIFLoading使用注意: + 1.谁负责showLoading, 谁负责hideHUD + 2.showLoading是指定了加载在那个View, hideHUD时请指定hide那个view的hud + */ + +@interface XCHUDTool : NSObject +/** + 隐藏HUD + */ ++ (void)hideHUD; + +/** + 隐藏HUD, 如果view为nil, 则默认隐藏主窗口的HUD + + @param view view + */ ++ (void)hideHUDInView:(nullable UIView *)view; + +/** + 显示成功message, 默认显示在窗口上, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + */ ++ (void)showSuccessWithMessage:(NSString *)message; + +/** + 显示成功message, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + @param view 显示在哪个view上 + */ ++ (void)showSuccessWithMessage:(NSString *)message inView:(nullable UIView *)view; + +/** + 显示成功message + + @param message 文字 + @param view 显示在哪个view上 + @param afterDelay 延迟消失时间 + @param enabled 是否可以拦截事件 no:不拦截 yes:拦截 + */ ++ (void)showSuccessWithMessage:(NSString *)message inView:(nullable UIView *)view delay:(NSTimeInterval)afterDelay enabled:(BOOL)enabled; + +/** + 显示错误message, 默认显示在窗口上, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + */ ++ (void)showErrorWithMessage:(NSString *)message; + +/** + 显示错误message, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + @param view 显示在哪个view上 + */ ++ (void)showErrorWithMessage:(NSString *)message inView:(nullable UIView *)view; + +/** + 显示错误message + + @param message 文字 + @param view 显示在哪个view上 + @param afterDelay 延迟消失时间 + @param enabled 是否可以拦截事件 no:不拦截 yes:拦截 + */ ++ (void)showErrorWithMessage:(NSString *)message inView:(nullable UIView *)view delay:(NSTimeInterval)afterDelay enabled:(BOOL)enabled; + +/** + 在窗口上显示自定义GIFLoading, 背景默认黑色0.35透明度, 默认拦截点击事件 + */ ++ (void)showGIFLoading; + +/** + 在指定的view上显示自定义GIFLoading, 背景默认黑色0.35透明度, 默认拦截点击事件 + + @param view 显示在哪个view上 + */ ++ (void)showGIFLoadingInView:(nullable UIView *)view; + +/** + 在指定的view上显示自定义GIFLoading + + @param view 显示在哪个view上 + @param bgColor 背景颜色, 遮盖 + @param enabled 是否可以拦截事件 no:不拦截 yes:拦截 + */ ++ (void)showGIFLoadingInView:(nullable UIView *)view bgColor:(nullable UIColor *)bgColor enabled:(BOOL)enabled; + +/** + 在窗口上显示菊花 + */ ++ (void)showLoading; + +/** + 在view上显示菊花 + */ ++ (void)showLoadingInView:(nullable UIView *)view; + +/** + 在view上显示菊花 + */ ++ (void)showLoadingInView:(nullable UIView *)view enabled:(BOOL)enabled; + +/** + 在窗口上显示菊花+文字 + */ ++ (void)showLoadingWithMessage:(NSString *)message; + +/** + 在view上显示菊花+文字 + */ ++ (void)showLoadingWithMessage:(NSString *)message inView:(nullable UIView *)view; + +/** + 在view上显示菊花+文字 + */ ++ (void)showLoadingWithMessage:(NSString *)message inView:(nullable UIView *)view enabled:(BOOL)enabled; +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Base/UI/XCHUDTool.m b/xplan-ios/Base/UI/XCHUDTool.m new file mode 100644 index 00000000..df25a048 --- /dev/null +++ b/xplan-ios/Base/UI/XCHUDTool.m @@ -0,0 +1,284 @@ +// +// XCHUDTool.m +// TTPlay +// +// Created by Macx on 2019/5/15. +// Copyright © 2019 YiZhuan. All rights reserved. +// + +#import "XCHUDTool.h" +#import "GCDHelper.h" +#import + +#define kDelayTime 2.5 + +@implementation XCHUDTool +/** + 隐藏HUD, 如果view为nil, 则默认隐藏主窗口的HUD + + @param view view + */ ++ (void)hideHUDInView:(nullable UIView *)view { + dispatch_main_sync_safe(^{ + if (view) { + [MBProgressHUD hideHUDForView:view animated:NO]; + [MBProgressHUD hideHUDForView:[UIApplication sharedApplication].keyWindow animated:NO]; + } else { + [MBProgressHUD hideHUDForView:[UIApplication sharedApplication].keyWindow animated:NO]; + } + }); +} +/** + 隐藏HUD + */ ++ (void)hideHUD { + [self hideHUDInView:nil]; +} + +/** + 显示成功message, 默认显示在窗口上, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + */ ++ (void)showSuccessWithMessage:(NSString *)message { + [self showSuccessWithMessage:message inView:[UIApplication sharedApplication].keyWindow]; +} + +/** + 显示成功message, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + @param view 显示在哪个view上 + */ ++ (void)showSuccessWithMessage:(NSString *)message inView:(nullable UIView *)view { + [self showSuccessWithMessage:message inView:view delay:kDelayTime enabled:NO]; +} + +/** + 显示成功message + @param message 文字 + @param view 显示在哪个view上 + @param afterDelay 延迟消失时间 + @param enabled 是否可以拦截事件 no:不拦截 yes:拦截 + */ ++ (void)showSuccessWithMessage:(NSString *)message inView:(nullable UIView *)view delay:(NSTimeInterval)afterDelay enabled:(BOOL)enabled { + + if (message.length == 0) { return; } + __block UIView *inView = view; + + dispatch_main_sync_safe(^{ + if (!inView) { + inView = [UIApplication sharedApplication].keyWindow; + } + [self hideHUDInView:view]; // 先隐藏 + MBProgressHUD *hud = [self normalProgressHUD:view]; + hud.userInteractionEnabled = enabled; + hud.mode = MBProgressHUDModeText; + hud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor; + hud.margin = 8; + // 方框背景颜色 + hud.bezelView.color = [[UIColor blackColor] colorWithAlphaComponent:0.8]; + hud.label.text = message; + hud.label.numberOfLines = 0; + hud.label.textColor = [UIColor whiteColor]; + hud.label.font = [UIFont systemFontOfSize:14]; + [hud hideAnimated:YES afterDelay:afterDelay]; + }); +} + +/** + 显示错误message, 默认显示在窗口上, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + */ ++ (void)showErrorWithMessage:(NSString *)message { + [self showErrorWithMessage:message inView:[UIApplication sharedApplication].keyWindow]; +} + +/** + 显示错误message, 2.5s后消失, 默认不拦截点击事件 + + @param message 文字 + @param view 显示在哪个view上 + */ ++ (void)showErrorWithMessage:(NSString *)message inView:(nullable UIView *)view { + [self showErrorWithMessage:message inView:view delay:kDelayTime enabled:NO]; +} + +/** + 显示错误message + + @param message 文字 + @param view 显示在哪个view上 + @param afterDelay 延迟消失时间 + @param enabled 是否可以拦截事件 no:不拦截 yes:拦截 + */ ++ (void)showErrorWithMessage:(NSString *)message inView:(nullable UIView *)view delay:(NSTimeInterval)afterDelay enabled:(BOOL)enabled { + if (message.length == 0) { return; } + if (!view) { + view = [UIApplication sharedApplication].keyWindow; + } + + [self hideHUDInView:view]; // 先隐藏 + + dispatch_main_sync_safe(^{ + MBProgressHUD *hud = [self normalProgressHUD:view]; + hud.userInteractionEnabled = enabled; + hud.mode = MBProgressHUDModeText; + hud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor; + hud.margin = 8; + // 方框背景颜色 + hud.bezelView.color = [[UIColor blackColor] colorWithAlphaComponent:0.8]; + hud.label.text = message; + hud.label.numberOfLines = 0; + hud.label.textColor = [UIColor whiteColor]; + hud.label.font = [UIFont systemFontOfSize:14]; + [hud hideAnimated:YES afterDelay:afterDelay]; + }); +} + +/** + * 在窗口上显示菊花 + */ ++ (void)showLoading { + [self showLoadingInView:[UIApplication sharedApplication].keyWindow]; +} + +/** + * 在view上显示菊花 + */ ++ (void)showLoadingInView:(nullable UIView *)view { + [self showLoadingInView:view enabled:YES]; +} + +/** + * 在view上显示菊花 + */ ++ (void)showLoadingInView:(nullable UIView *)view enabled:(BOOL)enabled { + [self showLoadingWithMessage:@"" inView:view enabled:enabled]; +} + +/** + * 在窗口上显示菊花+文字 + */ ++ (void)showLoadingWithMessage:(NSString *)message { + [self showLoadingWithMessage:message inView:[UIApplication sharedApplication].keyWindow]; +} + +/** + * 在view上显示菊花+文字 + */ ++ (void)showLoadingWithMessage:(NSString *)message inView:(nullable UIView *)view { + [self showLoadingWithMessage:message inView:view enabled:YES]; +} + +/** + * 在view上显示菊花+文字 + */ ++ (void)showLoadingWithMessage:(NSString *)message inView:(nullable UIView *)view enabled:(BOOL)enabled { + if (!view) { + view = [UIApplication sharedApplication].keyWindow; + } + [self hideHUDInView:view]; + + dispatch_main_sync_safe(^{ + MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; + hud.userInteractionEnabled = enabled; + hud.bezelView.color = [[UIColor whiteColor] colorWithAlphaComponent:0.8]; + hud.removeFromSuperViewOnHide = YES; + if (message.length) { + hud.label.text = message; + hud.label.numberOfLines = 0; + hud.label.textColor = [UIColor blackColor]; + hud.label.font = [UIFont systemFontOfSize:14]; + } + }); + +} + +/** + 在窗口上显示自定义GIFLoading, 背景默认黑色0.35透明度, 默认拦截点击事件 + */ ++ (void)showGIFLoading { + [self showGIFLoadingInView:[UIApplication sharedApplication].keyWindow]; +} + +/** + 在指定的view上显示自定义GIFLoading, 背景默认黑色0.35透明度, 默认拦截点击事件 + + @param view 显示在哪个view上 + */ ++ (void)showGIFLoadingInView:(nullable UIView *)view { + [self showGIFLoadingInView:view bgColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.35] enabled:YES]; +} + +/** + 在指定的view上显示自定义GIFLoading + @param view 显示在哪个view上 + @param bgColor 背景颜色, 遮盖 + @param enabled 是否可以拦截事件 no:不拦截 yes:拦截 + */ ++ (void)showGIFLoadingInView:(nullable UIView *)view bgColor:(nullable UIColor *)bgColor enabled:(BOOL)enabled { + if (!view) { + view = [UIApplication sharedApplication].keyWindow; + } + [self hideHUDInView:view]; + dispatch_main_sync_safe(^{ + MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; + hud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor; + hud.minSize = CGSizeMake(168, 133); + hud.userInteractionEnabled = enabled; + hud.mode = MBProgressHUDModeCustomView; + hud.minSize = CGSizeMake(150, 150); + [hud.bezelView addSubview:[self loadingView]]; + hud.backgroundColor = bgColor; + hud.bezelView.color = [UIColor clearColor]; + hud.removeFromSuperViewOnHide = YES; + }); +} + +#pragma mark - private ++ (MBProgressHUD *)normalProgressHUD:(UIView *)view { + MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; + hud.removeFromSuperViewOnHide = YES; + return hud; +} + + + ++ (UIView *)loadingView { + UIView *loadingBGView = [[UIView alloc] init]; + loadingBGView.layer.cornerRadius = 20; + loadingBGView.backgroundColor = [UIColor whiteColor]; + UIImageView *loadingImageView = [[UIImageView alloc] init]; + + UILabel *loadingTitleLabel = [[UILabel alloc] init]; + loadingTitleLabel = [[UILabel alloc] init]; + loadingTitleLabel.textColor = [UIColor colorWithRed:(153.0)/255.0f green:(153.0)/255.0f blue:(153.0)/255.0f alpha:1]; + loadingTitleLabel.font = [UIFont systemFontOfSize:14]; + loadingTitleLabel.text = @"加载中…"; + loadingTitleLabel.textAlignment = NSTextAlignmentCenter; + + [loadingBGView addSubview:loadingImageView]; + [loadingBGView addSubview:loadingTitleLabel]; + + loadingBGView.frame = CGRectMake(0,0,130,130); + loadingImageView.frame = CGRectMake((CGRectGetWidth(loadingBGView.frame)-40)/ 2, (CGRectGetHeight(loadingBGView.frame) - 40 -15-15) / 2, 40, 40); + loadingTitleLabel.frame = CGRectMake(0, CGRectGetMaxY(loadingImageView.frame) + 15, loadingBGView.frame.size.width, 15); + + loadingImageView.image = [UIImage imageNamed:@"common_loading"]; + + CABasicAnimation * animage = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; + animage.fromValue = 0; + animage.toValue = @(2 * M_PI); + animage.duration = 1; + animage.repeatCount = CGFLOAT_MAX; + animage.autoreverses = NO; + animage.removedOnCompletion = NO; + [loadingImageView.layer addAnimation:animage forKey:@"animation"]; + return loadingBGView; +} + + + +@end diff --git a/xplan-ios/Info.plist b/xplan-ios/Info.plist new file mode 100644 index 00000000..8a09f676 --- /dev/null +++ b/xplan-ios/Info.plist @@ -0,0 +1,54 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + 音游 + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/xplan-ios/Main/Login/Api/Api+Login.h b/xplan-ios/Main/Login/Api/Api+Login.h new file mode 100644 index 00000000..9cb5a4f4 --- /dev/null +++ b/xplan-ios/Main/Login/Api/Api+Login.h @@ -0,0 +1,18 @@ +// +// Api+Login.h +// xplan-ios +// +// Created by zu on 2021/9/6. +// + +#import "Api.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface Api (Login) + ++ (void)phoneQuickLogin:(HttpRequestHelperCompletion)completion accessToken:(NSString *)accessToken token:(NSString *)token; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Login/Api/Api+Login.m b/xplan-ios/Main/Login/Api/Api+Login.m new file mode 100644 index 00000000..0abc8258 --- /dev/null +++ b/xplan-ios/Main/Login/Api/Api+Login.m @@ -0,0 +1,18 @@ +// +// Api+Login.m +// xplan-ios +// +// Created by zu on 2021/9/6. +// + +#import "Api+Login.h" + +@implementation Api (Login) + ++ (void)phoneQuickLogin:(HttpRequestHelperCompletion)completion accessToken:(NSString *)accessToken token:(NSString *)token { + [self makeRequest:@"acc/oneclick/login" method:HttpRequestHelperMethodPOST completion:^(id _Nullable data, NSNumber * _Nonnull code, NSString * _Nullable msg) { + completion(data, code, msg); + }, __FUNCTION__, accessToken, token, nil]; +} + +@end diff --git a/xplan-ios/Main/Login/Presenter/LoginPresenter.h b/xplan-ios/Main/Login/Presenter/LoginPresenter.h new file mode 100644 index 00000000..e385d156 --- /dev/null +++ b/xplan-ios/Main/Login/Presenter/LoginPresenter.h @@ -0,0 +1,18 @@ +// +// LoginPresenter.h +// xplan-ios +// +// Created by zu on 2021/9/1. +// + +#import "BaseMvpPresenter.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface LoginPresenter : BaseMvpPresenter + +- (void)phoneQuickLogin:(NSString *)accessToken token:(NSString*) token; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Login/Presenter/LoginPresenter.m b/xplan-ios/Main/Login/Presenter/LoginPresenter.m new file mode 100644 index 00000000..34bba0a7 --- /dev/null +++ b/xplan-ios/Main/Login/Presenter/LoginPresenter.m @@ -0,0 +1,26 @@ +// +// LoginPresenter.m +// xplan-ios +// +// Created by zu on 2021/9/1. +// + +#import "LoginPresenter.h" +#import "LoginProtocol.h" +#import "Api+Login.h" + +@implementation LoginPresenter + +- (id)getView { + return ((id) [super getView]); +} + +- (void)phoneQuickLogin:(NSString *)accessToken token:(NSString *)token { + [Api phoneQuickLogin:[self createHttpCompletion:^(id _Nonnull data) { + [[self getView] phoneQuickLoginSuccess]; + } fail:^(NSNumber * _Nonnull code, NSString * _Nullable msg) { + // todo fail + } showLoading:YES errorToast:YES] accessToken:accessToken token:token]; +} + +@end diff --git a/xplan-ios/Main/Login/Protocol/LoginProtocol.h b/xplan-ios/Main/Login/Protocol/LoginProtocol.h new file mode 100644 index 00000000..7e501c7b --- /dev/null +++ b/xplan-ios/Main/Login/Protocol/LoginProtocol.h @@ -0,0 +1,18 @@ +// +// LoginProtocol.h +// xplan-ios +// +// Created by zu on 2021/9/1. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol LoginProtocol + +- (void)phoneQuickLoginSuccess; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Login/View/LoginViewController.h b/xplan-ios/Main/Login/View/LoginViewController.h new file mode 100644 index 00000000..35a3a96f --- /dev/null +++ b/xplan-ios/Main/Login/View/LoginViewController.h @@ -0,0 +1,16 @@ +// +// LoginViewController.h +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "MvpViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface LoginViewController : MvpViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Login/View/LoginViewController.m b/xplan-ios/Main/Login/View/LoginViewController.m new file mode 100644 index 00000000..e107cf3a --- /dev/null +++ b/xplan-ios/Main/Login/View/LoginViewController.m @@ -0,0 +1,578 @@ +// +// LoginViewController.m +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "LoginViewController.h" +#import "LoginPresenter.h" +#import "LoginProtocol.h" +#import "UIImage+Utils.h" +#import "GCDHelper.h" +#import "XCHUDTool.h" +#import +#import +#import +#import + +// 易盾 本机一键登录 +#ifdef DEBUG +NSString *businessID = @"09c1214706c34f4798d3f05d86148608"; +#else +NSString *businessID = @"09c1214706c34f4798d3f05d86148608"; +#endif + +typedef NS_ENUM(NSUInteger, XYLoginType) { + XYLoginTypeUnknow = 0, //未知 + XYLoginTypeTelecom = 1, //电信 + XYLoginTypeChinaMobile = 2, //移动 + XYLoginTypeUnicom = 3 //联通 +}; + + +typedef NS_ENUM(NSInteger,XYThirdLoginType) { + XYThirdLoginWechat = 1, // 微信登录 + XYThirdLoginQQ = 2, // QQ登录 + XYThirdLoginPhoneNum = 3, // 手机号登录 + XYThirdLoginApple = 5, // 苹果id登录 +}; + +@interface LLButtonView : UIView + +//icon +@property (nonatomic,strong) UIImageView *logoImageView; +//title +@property (nonatomic,strong) UILabel *titleLabel; +@end + +@implementation LLButtonView + +- (instancetype)initWithFrame:(CGRect)frame { + if (self = [super initWithFrame:frame]) { + [self initView]; + [self initContrations]; + } + return self; +} + + +- (void)initView { + [self addSubview:self.logoImageView]; + [self addSubview:self.titleLabel]; +} + +- (void)initContrations { + [self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(36, 36)); + make.centerX.left.mas_equalTo(self); + }]; + + [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.mas_equalTo(self); + make.top.mas_equalTo(self.logoImageView.mas_bottom).offset(15); + }]; +} + +- (UIImageView *)logoImageView { + if (!_logoImageView) { + _logoImageView = [[UIImageView alloc] init]; + _logoImageView.userInteractionEnabled = YES; + } + return _logoImageView; +} + +- (UILabel *)titleLabel { + if (!_titleLabel) { + _titleLabel = [[UILabel alloc] init]; + _titleLabel.font = [UIFont systemFontOfSize:11]; + _titleLabel.textColor = ThemeTextColor; + _titleLabel.textAlignment = NSTextAlignmentCenter; + } + return _titleLabel; +} + +@end + +@interface LoginViewController () + +@property (nonatomic, strong) UIImageView *appIcon; +/** 标题 */ +@property (nonatomic, strong) UILabel *titleLabel; +/** 副标题 */ +@property (nonatomic, strong) UILabel *subTitleLabel; + +@property (nonatomic, strong) UIView *contentView; +/** 登录按钮*/ +@property (nonatomic, strong) UIButton *loginButton; + +@property (nonatomic,strong) UIStackView *stackView; +///手机 +@property (nonatomic,strong) LLButtonView *qqButtonView; +///wx +@property (nonatomic,strong) LLButtonView *wxButtonView; +///qq +@property (nonatomic,strong) LLButtonView *phoneButtonView; + +/** 同意勾选按钮*/ +@property (nonatomic, strong) UIButton *agreeButton; +/** 同意即可登录 */ +@property (nonatomic, strong) YYLabel *agreeLabel; +/** 勾选隐私政策提示泡泡 */ +@property (nonatomic, strong) UIImageView *authBubbleView; +/** 泡泡提示内容 */ +@property (nonatomic, strong) UILabel *authBubbleLabel; + +@end + +@implementation LoginViewController + +- (LoginPresenter *)createPresenter { + return [[LoginPresenter alloc] init]; +} + +- (void)phoneQuickLoginSuccess { + [XCHUDTool showSuccessWithMessage:@"一键登录成功。"]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + [self initView]; + [self setUpConstraints]; + [self setEvents]; +} + +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self hideNavigationBar]; +} + +- (void)viewWillDisappear:(BOOL)animated { + [super viewWillDisappear:animated]; + [self showNavigationBar]; +} + +- (void)initView { + [self.view addSubview:self.appIcon]; + [self.view addSubview:self.titleLabel]; + [self.view addSubview:self.subTitleLabel]; + + [self.view addSubview:self.contentView]; + [self.contentView addSubview:self.loginButton]; + [self.contentView addSubview:self.stackView]; + [self.view addSubview:self.agreeButton]; + [self.view addSubview:self.agreeLabel]; + [self.view addSubview:self.authBubbleView]; + [self.authBubbleView addSubview:self.authBubbleLabel]; + + [self.stackView addArrangedSubview:self.qqButtonView]; + [self.stackView addArrangedSubview:self.phoneButtonView]; + [self.stackView addArrangedSubview:self.wxButtonView]; +} + + +- (void)setUpConstraints { + [self.appIcon mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(110 + kSafeAreaTopHeight); + make.left.mas_equalTo(52); + make.width.mas_equalTo(100); + make.height.mas_equalTo(100); + }]; + + [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.appIcon.mas_top).offset(28.5); + make.left.mas_equalTo(self.appIcon.mas_right).offset(7.5); + make.height.mas_equalTo(20); + make.right.mas_equalTo(-20); + }]; + + [self.subTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(13); + make.left.mas_equalTo(self.titleLabel.mas_left); + make.height.mas_equalTo(13); + make.right.mas_equalTo(-20); + }]; + + + [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.view).offset(iPhoneXSeries ? 300 : 228); + make.left.right.bottom.mas_equalTo(0); + }]; + [self.loginButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.mas_equalTo(self.view).inset(52); + make.top.mas_equalTo(70); + make.height.mas_equalTo(45); + }]; + + + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.mas_equalTo(self.view).offset(-kSafeAreaBottomHeight - 60); + make.centerX.mas_equalTo(self.view); + make.height.mas_equalTo(65); + }]; + + + [self.agreeLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.loginButton.mas_bottom).offset(20); + make.height.mas_equalTo(40); + make.width.mas_equalTo(270); + make.centerX.mas_equalTo(self.view).mas_offset(15 - 6); + }]; + + [self.agreeButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_equalTo(self.agreeLabel.mas_left).mas_offset(6); + make.centerY.mas_equalTo(self.agreeLabel.mas_centerY); + make.width.height.mas_equalTo(30); + }]; + + [self.authBubbleView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.agreeButton).mas_offset((-16)); + make.top.mas_equalTo(self.agreeButton.mas_bottom); + make.width.mas_equalTo(235); + make.height.mas_equalTo(29); + }]; + + [self.authBubbleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(8); + make.bottom.mas_equalTo(self.authBubbleView).mas_offset(-6); + }]; +} + +- (void)setEvents { + // 手机登陆按钮点击 + @weakify(self) + UITapGestureRecognizer *phoneTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didClickRecognizer:)]; + [self.phoneButtonView addGestureRecognizer:phoneTap]; + UITapGestureRecognizer * qqTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didClickRecognizer:)]; + [self.qqButtonView addGestureRecognizer:qqTap]; + UITapGestureRecognizer * wxTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didClickRecognizer:)]; + [self.wxButtonView addGestureRecognizer:wxTap]; + + [[self.agreeButton rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) { + self.agreeButton.selected = !self.agreeButton.selected; + if (self.agreeButton.isSelected) { + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + [defaults setObject:@"hadAgree" forKey:@"kHadAgreePrivacy"]; + [defaults synchronize]; + [UIView animateWithDuration:0.5 animations:^{ + self.authBubbleView.alpha = 0.0; + }]; + } + }]; + + // 一键登录 + [[self.loginButton rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) { + @strongify(self) + if (self.agreeButton.isSelected) { + [self phoneQuickLogin]; + } else { + [UIView animateWithDuration:0.5 animations:^{ + self.authBubbleView.alpha = 1.0; + }]; + } + }]; +} + +- (void)didClickRecognizer:(UITapGestureRecognizer *)tap { + UIView * view = tap.view; + if (self.agreeButton.isSelected) { + if ([view isEqual:self.phoneButtonView]) { + // InputPhoneLoginViewController *inputPhoneVC = [[InputPhoneLoginViewController alloc] init]; + // [self.navigationController pushViewController:inputPhoneVC animated:YES]; + } else if([view isEqual:self.qqButtonView]) { + [XCHUDTool showLoading]; + // [GetCore(AuthCore) thirdLoginPlatform:SSDKPlatformTypeQQ]; + } else if([view isEqual:self.wxButtonView]) { + [XCHUDTool showLoading]; + // [GetCore(AuthCore) thirdLoginPlatform:SSDKPlatformTypeWechat]; + } + } else { + [UIView animateWithDuration:0.5 animations:^{ + self.authBubbleView.alpha = 1.0; + }]; + } +} + +- (void)phoneQuickLogin { + [XCHUDTool showLoading]; + // 在使用一键登录之前,请先调用shouldQuickLogin方法,判断当前上网卡的网络环境和运营商是否可以一键登录 + @weakify(self) + NTESQuickLoginManager *qlManager = [NTESQuickLoginManager sharedInstance]; + BOOL shouldQL = [qlManager shouldQuickLogin]; + if (!shouldQL) { + [self phoneQuickLoginFail]; + return; + } + + [qlManager registerWithBusinessID:businessID timeout:3*1000 configURL:nil extData:nil completion:^(NSDictionary * _Nullable params, BOOL regSuccess) { + @strongify(self) + if (!regSuccess) { + dispatch_main_sync_safe(^{ + [self phoneQuickLoginFail]; + }); + return; + } + + NSString *token = [params objectForKey:@"token"]; + [qlManager getPhoneNumberCompletion:^(NSDictionary * _Nonnull resultDic) { + @strongify(self) + NSNumber *boolNum = [resultDic objectForKey:@"success"]; + BOOL getPhoneNumberSuccess = [boolNum boolValue]; + if (!getPhoneNumberSuccess) { + dispatch_main_sync_safe(^{ + [self phoneQuickLoginFail]; + }); + return; + } + + [self configQuickLogin]; + [qlManager CUCMCTAuthorizeLoginCompletion:^(NSDictionary * _Nonnull resultDic) { + @strongify(self) + NSNumber *boolNum = [resultDic objectForKey:@"success"]; + BOOL authSuccess = [boolNum boolValue]; + if (!authSuccess) { + dispatch_main_sync_safe(^{ + NSString *resultCode = [resultDic objectForKey:@"resultCode"]; + //取消一键登录 + if ([resultCode isEqualToString:@"200020"] || + [resultCode isEqualToString:@"10104"]) { + [XCHUDTool hideHUD]; + } else { + [self phoneQuickLoginFail]; + } + }); + return; + } + + dispatch_main_sync_safe(^{ + @strongify(self) + // [TTStatisticsService trackEvent:@"one_click_login_succeed" eventDescribe:@"一键登录成功"]; + // // 取号成功,获取acessToken + [XCHUDTool hideHUD]; + [self dismissViewControllerAnimated:YES completion:nil]; + [self.presenter phoneQuickLogin:resultDic[@"accessToken"] token:token]; + }); + }]; + }]; + + }]; +} + +- (void)phoneQuickLoginFail { + [XCHUDTool showErrorWithMessage:@"一键登录失败,请检查手机网络状态。"]; +} + +- (void)configQuickLogin { + // 获取当前上网卡的运营商,0:未知 1:电信 2.移动 3.联通 + NSInteger currentCarrier = [[NTESQuickLoginManager sharedInstance] getCarrier]; + NTESQuickLoginModel *CMModel = [[NTESQuickLoginModel alloc] init]; + CMModel.currentVC = self; + CMModel.presentDirectionType = NTESPresentDirectionPresent; + if (currentCarrier == XYLoginTypeUnicom) { // 联通 + CMModel.logoImg = [UIImage imageNamed:@"login_unicom_mobile"]; + }else if (currentCarrier == XYLoginTypeChinaMobile) { //移动 + CMModel.logoImg = [UIImage imageNamed:@"login_china_mobile"]; + }else { //电信 + CMModel.logoImg = [UIImage imageNamed:@"login_ct_mobile"]; + } + CMModel.backgroundColor = ThemeBackgroundColor; + + CMModel.logoWidth = 95; + CMModel.logoHeight = 95; + CMModel.logoOffsetTopY = 30; + CMModel.navText = @"一键登录"; + CMModel.navTextColor = UIColor.whiteColor; + CMModel.navTextFont = [UIFont boldSystemFontOfSize:18]; + + CMModel.navReturnImg = [UIImage imageNamed:@"common_nav_back"]; + CMModel.navBgColor = ThemeBackgroundColor; + + CMModel.logBtnHeight = 45; + CMModel.logBtnRadius = 45.f / 2; + CMModel.logBtnOffsetTopY= 260; + CMModel.logBtnOriginLeft = 52; + CMModel.logBtnOriginRight = 52; + CMModel.logBtnUsableBGColor = ThemeDefaultColor; + CMModel.logBtnText = @"本机号码一键登录"; + CMModel.logBtnTextColor = UIColor.whiteColor; + CMModel.logBtnTextFont = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium]; + + CMModel.numberOffsetTopY = 170; + CMModel.numberColor = UIColor.whiteColor; + CMModel.numberFont = [UIFont boldSystemFontOfSize:20]; + CMModel.brandColor = UIColor.whiteColor; + + CMModel.uncheckedImg = [UIImage imageNamed:@"common_checkbox_uncheck"]; + CMModel.checkedImg = [UIImage imageNamed:@"common_checkbox_checked"]; + CMModel.checkboxWH = 20; + + CMModel.privacyColor = ThemeTextColor; + CMModel.appPrivacyText = @"登录即代表同意《默认》,并授权音游获取本机号码。"; + CMModel.privacyState = YES; + CMModel.privacyFont = [UIFont systemFontOfSize:12]; + CMModel.protocolColor = ThemeDefaultColor; + + CMModel.backActionBlock = ^{ //点击了返回按钮 + [XCHUDTool hideHUD]; + }; + dispatch_main_sync_safe(^{ + [[NTESQuickLoginManager sharedInstance] setupModel:CMModel]; + }); +} + +- (UIImageView *)appIcon { + if (!_appIcon) { + _appIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_appIcon"]]; + } + return _appIcon; +} + +- (UILabel *)titleLabel{ + if (!_titleLabel) { + _titleLabel = [[UILabel alloc] init]; + _titleLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:18]; + _titleLabel.text = AppName; + _titleLabel.textColor = ThemeTextColor; + } + return _titleLabel; +} + +- (UILabel *)subTitleLabel { + if (!_subTitleLabel) { + _subTitleLabel = [[UILabel alloc] init]; + _subTitleLabel.font = [UIFont systemFontOfSize:13]; + _subTitleLabel.text = @"来音游打游戏,争夺更多赏金!"; + _subTitleLabel.textColor = ThemeTextColor; + _subTitleLabel.textAlignment = NSTextAlignmentLeft; + } + return _subTitleLabel; +} + +- (UIButton *)loginButton{ + if (!_loginButton) { + _loginButton = [UIButton buttonWithType:UIButtonTypeCustom]; + _loginButton.layer.masksToBounds = YES; + _loginButton.layer.cornerRadius = 45/2.f; + [_loginButton setTitle:@"本机号码一键登录" forState:UIControlStateNormal]; + [_loginButton setTitle:@"本机号码一键登录" forState:UIControlStateSelected]; + _loginButton.titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium]; + [_loginButton setTitleColor:UIColor.whiteColor forState:UIControlStateNormal]; + UIImage *image = [UIImage gradientColorImageFromColors:@[ThemeButtonGradientStartColor,ThemeButtonGradientEndColor] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(KScreenWidth - 52 * 2, 45)]; + [_loginButton setBackgroundImage:image forState:UIControlStateNormal]; + } + return _loginButton; +} + +- (UIButton *)agreeButton { + if (!_agreeButton) { + _agreeButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_agreeButton setImage:[UIImage imageNamed:@"common_checkbox_uncheck"] forState:UIControlStateNormal]; + [_agreeButton setImage:[UIImage imageNamed:@"common_checkbox_checked"] forState:UIControlStateSelected]; + } + return _agreeButton; +} + +- (YYLabel *)agreeLabel { + if (!_agreeLabel) { + _agreeLabel = [[YYLabel alloc] init]; + _agreeLabel.font = [UIFont systemFontOfSize:12]; + _agreeLabel.numberOfLines = 0; + _agreeLabel.attributedText = [self privacyAttributedStr]; + _agreeLabel.textAlignment = NSTextAlignmentCenter; + [_agreeLabel sizeToFit]; + } + return _agreeLabel; +} + +- (NSMutableAttributedString *)privacyAttributedStr{ + NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"登录即代表同意"]; + attString.yy_color = ThemeTextColor; + NSString *userString = @"《用户服务协议》"; + NSMutableAttributedString *userAttString = [[NSMutableAttributedString alloc] initWithString:userString attributes:@{NSForegroundColorAttributeName:ThemeDefaultColor}]; + @weakify(self) + [userAttString yy_setTextHighlightRange:NSMakeRange(0, userAttString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { + @strongify(self); + // 跳转用户协议 + // [self goToWebview:HtmlUrlKey(kUserProtocalURL)]; + } longPressAction:nil]; + + NSMutableAttributedString *andString = [[NSMutableAttributedString alloc] initWithString:@"和"]; + andString.yy_color = ThemeTextColor; + NSString *protocolString = @"《隐私政策》"; + NSMutableAttributedString *privateString = [[NSMutableAttributedString alloc] initWithString:protocolString attributes:@{NSForegroundColorAttributeName:ThemeDefaultColor}]; + [privateString yy_setTextHighlightRange:NSMakeRange(0, privateString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { + @strongify(self); + // 跳转隐私政策 + // [self goToWebview:HtmlUrlKey(kPrivacyURL)]; + } longPressAction:nil]; + [attString appendAttributedString:userAttString]; + [attString appendAttributedString:andString]; + [attString appendAttributedString:privateString]; + return attString; +} + +- (UIImageView *)authBubbleView { + if (!_authBubbleView) { + _authBubbleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_auth_bubble"]]; + _authBubbleView.contentMode = UIViewContentModeScaleAspectFit; + _authBubbleView.alpha = 0; + } + return _authBubbleView; +} + +- (UILabel *)authBubbleLabel { + if (!_authBubbleLabel) { + _authBubbleLabel = [[UILabel alloc] init]; + _authBubbleLabel.text = @"同意隐私政策和用户协议后,才可以注册登录哦~"; + _authBubbleLabel.font = [UIFont systemFontOfSize:10]; + _authBubbleLabel.textColor = UIColor.whiteColor; + } + return _authBubbleLabel; +} + +- (UIView *)contentView { + if (!_contentView) { + _contentView = [[UIView alloc] init]; + } + return _contentView; +} + +- (UIStackView *)stackView { + if (!_stackView) { + _stackView = [[UIStackView alloc] init]; + _stackView.distribution = UIStackViewDistributionEqualSpacing; + _stackView.spacing = 43; + _stackView.axis = UILayoutConstraintAxisHorizontal; + _stackView.alignment = UIStackViewAlignmentFill; + } + return _stackView; +} + +- (LLButtonView *)phoneButtonView { + if (!_phoneButtonView) { + _phoneButtonView = [[LLButtonView alloc] init]; + _phoneButtonView.logoImageView.image = [UIImage imageNamed:@"login_phone"]; + _phoneButtonView.titleLabel.text = @"手机"; + } + return _phoneButtonView; +} + +- (LLButtonView *)qqButtonView { + if (!_qqButtonView) { + _qqButtonView = [[LLButtonView alloc] init]; + _qqButtonView.logoImageView.image = [UIImage imageNamed:@"login_qq"]; + _qqButtonView.titleLabel.text = @"QQ"; + } + return _qqButtonView; +} + +- (LLButtonView *)wxButtonView { + if (!_wxButtonView) { + _wxButtonView = [[LLButtonView alloc] init]; + _wxButtonView.logoImageView.image = [UIImage imageNamed:@"login_wechat"]; + _wxButtonView.titleLabel.text = @"微信"; + } + return _wxButtonView; +} + +@end diff --git a/xplan-ios/Main/MVP/Api/Api.h b/xplan-ios/Main/MVP/Api/Api.h new file mode 100644 index 00000000..ab7f6768 --- /dev/null +++ b/xplan-ios/Main/MVP/Api/Api.h @@ -0,0 +1,25 @@ +// +// Api.h +// xplan-ios +// +// Created by zu on 2021/9/6. +// + +#import +#import "HttpRequestHelper.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface Api : NSObject + +/** + route : 接口路径 + method : http 请求方法(POST、GET等) + completion : 网络请求完成的回调 + ... : 可变参数,第一个为 __FUNCTION__ ,接下来依次为该接口的协议参数 + */ ++ (void)makeRequest:(NSString *)route method:(HttpRequestHelperMethod)method completion:(HttpRequestHelperCompletion)completion, ...; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/MVP/Api/Api.m b/xplan-ios/Main/MVP/Api/Api.m new file mode 100644 index 00000000..92dcc41f --- /dev/null +++ b/xplan-ios/Main/MVP/Api/Api.m @@ -0,0 +1,39 @@ +// +// Api.m +// xplan-ios +// +// Created by zu on 2021/9/6. +// + +#import "Api.h" + +@implementation Api + ++ (void)makeRequest:(NSString *)route method:(HttpRequestHelperMethod)method completion:(HttpRequestHelperCompletion)completion, ... { + va_list arg_lists; + va_start(arg_lists, completion); + + // 获取第一个参数 __FUNCTION__ ,然后解析出来 key 。 + const char *functionName = va_arg(arg_lists, const char *); + NSString *fn = [[NSString alloc] initWithUTF8String:functionName]; + // NSLog 一下 __FUNCTION__ 就知道为什么这么截取了。 + NSRange blankRange = [fn rangeOfString:@":"]; + NSUInteger start = blankRange.location + 1; + NSUInteger length = fn.length - start - 2; + NSString *fromatParamKeys = [fn substringWithRange:NSMakeRange(start, length)]; + + // 构造请求的 NSMutableDictionary *params 。 + NSMutableDictionary *params = [NSMutableDictionary dictionary]; + + NSArray *paramKeys = [fromatParamKeys componentsSeparatedByString:@":"]; + NSEnumerator *enumerator = [paramKeys objectEnumerator]; + NSString *value = nil; + while((value = va_arg(arg_lists, NSString*))){ + [params setValue:value forKey:enumerator.nextObject]; + }; + va_end(arg_lists); + + [HttpRequestHelper request:route method:method params:params completion:completion]; +} + +@end diff --git a/xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.h b/xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.h new file mode 100644 index 00000000..69307d88 --- /dev/null +++ b/xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.h @@ -0,0 +1,26 @@ +// +// BaseMvpPresenter.h +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import +#import "BaseMvpProtocol.h" +#import "HttpRequestHelper.h" + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^HttpSuccess)(id _Nonnull data); +typedef void(^HttpFail)(NSNumber * _Nonnull code, NSString * _Nullable msg); + +@interface BaseMvpPresenter : NSObject + +- (void)attatchView:(id)view; +- (id)getView; +- (HttpRequestHelperCompletion)createHttpCompletion:(HttpSuccess)success fail:(HttpFail)fail showLoading:(BOOL)loading errorToast:(BOOL)toast; +- (void)detatchView; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.m b/xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.m new file mode 100644 index 00000000..974593e3 --- /dev/null +++ b/xplan-ios/Main/MVP/Presenter/BaseMvpPresenter.m @@ -0,0 +1,60 @@ +// +// BaseMvpPresenter.m +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "BaseMvpPresenter.h" +#import "XCHUDTool.h" + +@interface BaseMvpPresenter() + +@property (nonatomic, weak) id view; + +@end + +@implementation BaseMvpPresenter + +- (void)attatchView:(id)view { + self.view = view; +} + +- (id)getView { + return self.view; +} + +- (HttpRequestHelperCompletion)createHttpCompletion:(HttpSuccess)success fail:(HttpFail)fail showLoading:(BOOL)loading errorToast:(BOOL)toast { + if (loading) { + [XCHUDTool showLoading]; + } + return ^(id _Nullable data, NSNumber * _Nonnull code, NSString * _Nullable msg) { + if (data != nil) { + NSString *message = [data valueForKey:@"message"]; + NSNumber *resCode = [data valueForKey:@"code"]; + switch (resCode.intValue) { + case 200: + success(data); + return; + + default: + if (toast) { + [XCHUDTool showErrorWithMessage:msg]; + } + fail(resCode, message); + return; + } + } + + if (toast) { + [XCHUDTool showErrorWithMessage:msg]; + } + fail(code, msg); + }; +} + +- (void)detatchView { + +} + +@end diff --git a/xplan-ios/Main/MVP/Protocol/BaseMvpProtocol.h b/xplan-ios/Main/MVP/Protocol/BaseMvpProtocol.h new file mode 100644 index 00000000..89707a97 --- /dev/null +++ b/xplan-ios/Main/MVP/Protocol/BaseMvpProtocol.h @@ -0,0 +1,19 @@ +// +// BaseMvpProtocol.h +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol BaseMvpProtocol + +- (void)tokenInvalid; +- (void)completeUserInfo; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/MVP/View/MvpViewController.h b/xplan-ios/Main/MVP/View/MvpViewController.h new file mode 100644 index 00000000..27a404cc --- /dev/null +++ b/xplan-ios/Main/MVP/View/MvpViewController.h @@ -0,0 +1,21 @@ +// +// MvpViewController.h +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "BaseViewController.h" +#import "BaseMvpPresenter.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MvpViewController : BaseViewController + +@property (nonatomic,strong) __kindof T presenter; + +- (__kindof T)createPresenter; + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/MVP/View/MvpViewController.m b/xplan-ios/Main/MVP/View/MvpViewController.m new file mode 100644 index 00000000..39a6314b --- /dev/null +++ b/xplan-ios/Main/MVP/View/MvpViewController.m @@ -0,0 +1,45 @@ +// +// MvpViewController.m +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "MvpViewController.h" +#import "BaseMvpProtocol.h" +#import "BaseMvpPresenter.h" +#import "LoginViewController.h" + +@interface MvpViewController () + +@end + +@implementation MvpViewController + +- (__kindof id)presenter { + if (_presenter == nil) { + _presenter = [self createPresenter]; + [_presenter attatchView:self]; + } + return _presenter; +} + +- (__kindof id)createPresenter { + return [[BaseMvpPresenter alloc] init]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; +} + +- (void)tokenInvalid { + LoginViewController *loginVC = [[LoginViewController alloc] init]; + [self.navigationController pushViewController:loginVC animated:NO]; +} + +- (void)completeUserInfo { + // TODO:完善用户信息 +} + + +@end diff --git a/xplan-ios/Main/TabbarViewController.h b/xplan-ios/Main/TabbarViewController.h new file mode 100644 index 00000000..e9c9b71a --- /dev/null +++ b/xplan-ios/Main/TabbarViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "MvpViewController.h" + +@interface TabbarViewController : MvpViewController + +@end + diff --git a/xplan-ios/Main/TabbarViewController.m b/xplan-ios/Main/TabbarViewController.m new file mode 100644 index 00000000..0824294e --- /dev/null +++ b/xplan-ios/Main/TabbarViewController.m @@ -0,0 +1,22 @@ +// +// ViewController.m +// xplan-ios +// +// Created by zu on 2021/8/31. +// + +#import "TabbarViewController.h" +#import "LoginViewController.h" + +@interface TabbarViewController () + +@end + +@implementation TabbarViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self tokenInvalid]; +} + +@end diff --git a/xplan-ios/main.m b/xplan-ios/main.m new file mode 100644 index 00000000..e3a77ad5 --- /dev/null +++ b/xplan-ios/main.m @@ -0,0 +1,18 @@ +// +// main.m +// xplan-ios +// +// Created by apple on 2021/8/31. +// + +#import +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + NSString * appDelegateClassName; + @autoreleasepool { + // Setup code that might create autoreleased objects goes here. + appDelegateClassName = NSStringFromClass([AppDelegate class]); + } + return UIApplicationMain(argc, argv, nil, appDelegateClassName); +}