From 99208c9ca3617854d19d8dd0c148beddf8f8892b Mon Sep 17 00:00:00 2001 From: zengxs Date: Tue, 2 Jul 2019 23:01:46 +0800 Subject: [PATCH 1/3] feat: Statusbar app --- .gitattributes | 1 + .gitignore | 458 +++-------- .gitmodules | 9 + Artwork/StatusBarIcon.afdesign | 3 + Cartfile | 4 + Cartfile.resolved | 3 + Carthage/Checkouts/Alamofire | 1 + Carthage/Checkouts/Preferences | 1 + Carthage/Checkouts/SwiftyUserDefaults | 1 + EhautX.sln | 17 - EhautX.xcodeproj/project.pbxproj | 654 ++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 4 +- EhautX/AppDelegate.cs | 26 - EhautX/AppDelegate.swift | 90 +++ .../AppIcon.appiconset/AppIcon-128.png | Bin 8125 -> 0 bytes .../AppIcon.appiconset/AppIcon-128@2x.png | Bin 20798 -> 0 bytes .../AppIcon.appiconset/AppIcon-16.png | Bin 711 -> 0 bytes .../AppIcon.appiconset/AppIcon-16@2x.png | Bin 1484 -> 0 bytes .../AppIcon.appiconset/AppIcon-256.png | Bin 20798 -> 0 bytes .../AppIcon.appiconset/AppIcon-256@2x.png | Bin 59335 -> 0 bytes .../AppIcon.appiconset/AppIcon-32.png | Bin 1484 -> 0 bytes .../AppIcon.appiconset/AppIcon-32@2x.png | Bin 3428 -> 0 bytes .../AppIcon.appiconset/AppIcon-512.png | Bin 59335 -> 0 bytes .../AppIcon.appiconset/AppIcon-512@2x.png | Bin 177632 -> 0 bytes .../AppIcon.appiconset/Contents.json | 68 -- EhautX/Assets.xcassets/Contents.json | 2 +- .../EhautX.appiconset/Contents.json | 58 ++ .../NetworkConnect.imageset/Contents.json | 43 ++ .../NetworkConnect@2x.png | Bin 0 -> 718 bytes .../NetworkConnect@3x.png | Bin 0 -> 1165 bytes .../NetworkConnect@dark@2x.png | Bin 0 -> 828 bytes .../NetworkDisconnect.imageset/Contents.json | 43 ++ .../NetworkDisconnect@2x.png | Bin 0 -> 735 bytes .../NetworkDisconnect@3x.png | Bin 0 -> 17520 bytes .../NetworkDisconnect@dark@2x.png | Bin 0 -> 823 bytes EhautX/Base.lproj/MainMenu.xib | 699 +++++++++++++++++ EhautX/EhautX.csproj | 105 --- EhautX/EhautX.entitlements | 10 + EhautX/Info.plist | 42 +- EhautX/Main.cs | 13 - EhautX/Main.storyboard | 728 ------------------ EhautX/Model/AppPreferences.cs | 152 ---- EhautX/Resources/.gitkeep | 0 EhautX/Service/Crypto.cs | 36 - EhautX/Service/Notify.cs | 17 - EhautX/View/AdvancedPrefsController.cs | 22 - .../View/AdvancedPrefsController.designer.cs | 20 - EhautX/View/GeneralPrefsController.cs | 22 - .../View/GeneralPrefsController.designer.cs | 20 - EhautX/View/NetworkPrefsController.cs | 21 - .../View/NetworkPrefsController.designer.cs | 20 - EhautX/View/ViewController.cs | 117 --- EhautX/View/ViewController.designer.cs | 25 - .../Views/AdvancedPrefsViewController.swift | 83 ++ EhautX/Views/AdvancedPrefsViewController.xib | 391 ++++++++++ EhautX/Views/GeneralPrefsViewController.swift | 38 + EhautX/Views/GeneralPrefsViewController.xib | 152 ++++ EhautX/packages.config | 4 - EhautXTests/EhautXTests.swift | 34 + EhautXTests/Info.plist | 22 + EhautXUITests/EhautXUITests.swift | 34 + EhautXUITests/Info.plist | 22 + input.xcfilelist | 3 + output.xcfilelist | 3 + 65 files changed, 2542 insertions(+), 1806 deletions(-) create mode 100644 .gitattributes create mode 100644 .gitmodules create mode 100644 Artwork/StatusBarIcon.afdesign create mode 100644 Cartfile create mode 100644 Cartfile.resolved create mode 160000 Carthage/Checkouts/Alamofire create mode 160000 Carthage/Checkouts/Preferences create mode 160000 Carthage/Checkouts/SwiftyUserDefaults delete mode 100644 EhautX.sln create mode 100644 EhautX.xcodeproj/project.pbxproj create mode 100644 EhautX.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename EhautX/Entitlements.plist => EhautX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (66%) delete mode 100644 EhautX/AppDelegate.cs create mode 100644 EhautX/AppDelegate.swift delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png delete mode 100644 EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 EhautX/Assets.xcassets/EhautX.appiconset/Contents.json create mode 100644 EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json create mode 100644 EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png create mode 100644 EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png create mode 100644 EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@dark@2x.png create mode 100644 EhautX/Assets.xcassets/NetworkDisconnect.imageset/Contents.json create mode 100644 EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@2x.png create mode 100644 EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@3x.png create mode 100644 EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png create mode 100644 EhautX/Base.lproj/MainMenu.xib delete mode 100644 EhautX/EhautX.csproj create mode 100644 EhautX/EhautX.entitlements delete mode 100644 EhautX/Main.cs delete mode 100644 EhautX/Main.storyboard delete mode 100644 EhautX/Model/AppPreferences.cs delete mode 100644 EhautX/Resources/.gitkeep delete mode 100644 EhautX/Service/Crypto.cs delete mode 100644 EhautX/Service/Notify.cs delete mode 100644 EhautX/View/AdvancedPrefsController.cs delete mode 100644 EhautX/View/AdvancedPrefsController.designer.cs delete mode 100644 EhautX/View/GeneralPrefsController.cs delete mode 100644 EhautX/View/GeneralPrefsController.designer.cs delete mode 100644 EhautX/View/NetworkPrefsController.cs delete mode 100644 EhautX/View/NetworkPrefsController.designer.cs delete mode 100644 EhautX/View/ViewController.cs delete mode 100644 EhautX/View/ViewController.designer.cs create mode 100644 EhautX/Views/AdvancedPrefsViewController.swift create mode 100644 EhautX/Views/AdvancedPrefsViewController.xib create mode 100644 EhautX/Views/GeneralPrefsViewController.swift create mode 100644 EhautX/Views/GeneralPrefsViewController.xib delete mode 100644 EhautX/packages.config create mode 100644 EhautXTests/EhautXTests.swift create mode 100644 EhautXTests/Info.plist create mode 100644 EhautXUITests/EhautXUITests.swift create mode 100644 EhautXUITests/Info.plist create mode 100644 input.xcfilelist create mode 100644 output.xcfilelist diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dc5caf9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.afdesign filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index a6c2a92..e71b57f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,350 +1,110 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ +# Created by https://www.gitignore.io/api/swift,macos +# Edit at https://www.gitignore.io/?templates=swift,macos + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Swift ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +build/ +DerivedData/ + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Other +*.moved-aside +*.xccheckout +*.xcscmblueprint + +## Obj-C/Swift specific +*.hmap +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +.build/ + +# 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 + +# Accio dependency management +Dependencies/ +.accio/ + +# 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/ + +# End of https://www.gitignore.io/api/swift,macos diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b3485bf --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "Carthage/Checkouts/SwiftyUserDefaults"] + path = Carthage/Checkouts/SwiftyUserDefaults + url = https://github.com/radex/SwiftyUserDefaults.git +[submodule "Carthage/Checkouts/Preferences"] + path = Carthage/Checkouts/Preferences + url = https://github.com/sindresorhus/Preferences.git +[submodule "Carthage/Checkouts/Alamofire"] + path = Carthage/Checkouts/Alamofire + url = https://github.com/Alamofire/Alamofire.git diff --git a/Artwork/StatusBarIcon.afdesign b/Artwork/StatusBarIcon.afdesign new file mode 100644 index 0000000..7815861 --- /dev/null +++ b/Artwork/StatusBarIcon.afdesign @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c88c5084293d24622023dea018293dffb0d4c818e5a3c6076dbf85c29fe8978 +size 46191 diff --git a/Cartfile b/Cartfile new file mode 100644 index 0000000..cb8fafc --- /dev/null +++ b/Cartfile @@ -0,0 +1,4 @@ +github "Alamofire/Alamofire" ~>4.8 +github "radex/SwiftyUserDefaults" ~>4.0 +github "sindresorhus/Preferences" ~>0.4 + diff --git a/Cartfile.resolved b/Cartfile.resolved new file mode 100644 index 0000000..4cc87d0 --- /dev/null +++ b/Cartfile.resolved @@ -0,0 +1,3 @@ +github "Alamofire/Alamofire" "4.8.2" +github "radex/SwiftyUserDefaults" "4.0.0" +github "sindresorhus/Preferences" "v0.4.0" diff --git a/Carthage/Checkouts/Alamofire b/Carthage/Checkouts/Alamofire new file mode 160000 index 0000000..75bba56 --- /dev/null +++ b/Carthage/Checkouts/Alamofire @@ -0,0 +1 @@ +Subproject commit 75bba56748359f297a83f620d45f72cf4ebee4e7 diff --git a/Carthage/Checkouts/Preferences b/Carthage/Checkouts/Preferences new file mode 160000 index 0000000..0feb15b --- /dev/null +++ b/Carthage/Checkouts/Preferences @@ -0,0 +1 @@ +Subproject commit 0feb15b0e1293d6aa6b8721bc6468139b66b6094 diff --git a/Carthage/Checkouts/SwiftyUserDefaults b/Carthage/Checkouts/SwiftyUserDefaults new file mode 160000 index 0000000..566ace1 --- /dev/null +++ b/Carthage/Checkouts/SwiftyUserDefaults @@ -0,0 +1 @@ +Subproject commit 566ace16ee91242b61e2e9da6cdbe7dfdadd926c diff --git a/EhautX.sln b/EhautX.sln deleted file mode 100644 index 8822dc2..0000000 --- a/EhautX.sln +++ /dev/null @@ -1,17 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EhautX", "EhautX\EhautX.csproj", "{75BF3CFF-AC12-49FA-88A7-AFD4889FA758}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {75BF3CFF-AC12-49FA-88A7-AFD4889FA758}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {75BF3CFF-AC12-49FA-88A7-AFD4889FA758}.Debug|Any CPU.Build.0 = Debug|Any CPU - {75BF3CFF-AC12-49FA-88A7-AFD4889FA758}.Release|Any CPU.ActiveCfg = Release|Any CPU - {75BF3CFF-AC12-49FA-88A7-AFD4889FA758}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/EhautX.xcodeproj/project.pbxproj b/EhautX.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a4bcc83 --- /dev/null +++ b/EhautX.xcodeproj/project.pbxproj @@ -0,0 +1,654 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + FB1483A422CB898300449969 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1483A322CB898300449969 /* AppDelegate.swift */; }; + FB1483A622CB898300449969 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FB1483A522CB898300449969 /* Assets.xcassets */; }; + FB1483A922CB898300449969 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = FB1483A722CB898300449969 /* MainMenu.xib */; }; + FB1483B522CB898300449969 /* EhautXTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1483B422CB898300449969 /* EhautXTests.swift */; }; + FB1483C022CB898300449969 /* EhautXUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1483BF22CB898300449969 /* EhautXUITests.swift */; }; + FB1483D122CB8B9800449969 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1483CE22CB8B9800449969 /* Alamofire.framework */; }; + FB1483D222CB8B9800449969 /* Preferences.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1483CF22CB8B9800449969 /* Preferences.framework */; }; + FB1483D322CB8B9800449969 /* SwiftyUserDefaults.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1483D022CB8B9800449969 /* SwiftyUserDefaults.framework */; }; + FB1483D822CBA20200449969 /* GeneralPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1483D622CBA20200449969 /* GeneralPrefsViewController.swift */; }; + FB1483D922CBA20200449969 /* GeneralPrefsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = FB1483D722CBA20200449969 /* GeneralPrefsViewController.xib */; }; + FB1483E022CBA82200449969 /* AdvancedPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1483DE22CBA82200449969 /* AdvancedPrefsViewController.swift */; }; + FB1483E122CBA82200449969 /* AdvancedPrefsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = FB1483DF22CBA82200449969 /* AdvancedPrefsViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + FB1483B122CB898300449969 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FB14839822CB898300449969 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FB14839F22CB898300449969; + remoteInfo = EhautX; + }; + FB1483BC22CB898300449969 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FB14839822CB898300449969 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FB14839F22CB898300449969; + remoteInfo = EhautX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + FB1483A022CB898300449969 /* EhautX.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EhautX.app; sourceTree = BUILT_PRODUCTS_DIR; }; + FB1483A322CB898300449969 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + FB1483A522CB898300449969 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + FB1483A822CB898300449969 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + FB1483AA22CB898300449969 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FB1483AB22CB898300449969 /* EhautX.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = EhautX.entitlements; sourceTree = ""; }; + FB1483B022CB898300449969 /* EhautXTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EhautXTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + FB1483B422CB898300449969 /* EhautXTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EhautXTests.swift; sourceTree = ""; }; + FB1483B622CB898300449969 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FB1483BB22CB898300449969 /* EhautXUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EhautXUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + FB1483BF22CB898300449969 /* EhautXUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EhautXUITests.swift; sourceTree = ""; }; + FB1483C122CB898300449969 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FB1483CE22CB8B9800449969 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/Mac/Alamofire.framework; sourceTree = ""; }; + FB1483CF22CB8B9800449969 /* Preferences.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Preferences.framework; path = Carthage/Build/Mac/Preferences.framework; sourceTree = ""; }; + FB1483D022CB8B9800449969 /* SwiftyUserDefaults.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftyUserDefaults.framework; path = Carthage/Build/Mac/SwiftyUserDefaults.framework; sourceTree = ""; }; + FB1483D622CBA20200449969 /* GeneralPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneralPrefsViewController.swift; sourceTree = ""; }; + FB1483D722CBA20200449969 /* GeneralPrefsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GeneralPrefsViewController.xib; sourceTree = ""; }; + FB1483DE22CBA82200449969 /* AdvancedPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedPrefsViewController.swift; sourceTree = ""; }; + FB1483DF22CBA82200449969 /* AdvancedPrefsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AdvancedPrefsViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FB14839D22CB898300449969 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1483D122CB8B9800449969 /* Alamofire.framework in Frameworks */, + FB1483D222CB8B9800449969 /* Preferences.framework in Frameworks */, + FB1483D322CB8B9800449969 /* SwiftyUserDefaults.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1483AD22CB898300449969 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1483B822CB898300449969 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + FB14839722CB898300449969 = { + isa = PBXGroup; + children = ( + FB1483A222CB898300449969 /* EhautX */, + FB1483B322CB898300449969 /* EhautXTests */, + FB1483BE22CB898300449969 /* EhautXUITests */, + FB1483A122CB898300449969 /* Products */, + FB1483CD22CB8B9800449969 /* Frameworks */, + ); + sourceTree = ""; + }; + FB1483A122CB898300449969 /* Products */ = { + isa = PBXGroup; + children = ( + FB1483A022CB898300449969 /* EhautX.app */, + FB1483B022CB898300449969 /* EhautXTests.xctest */, + FB1483BB22CB898300449969 /* EhautXUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + FB1483A222CB898300449969 /* EhautX */ = { + isa = PBXGroup; + children = ( + FB1483D522CBA1D800449969 /* Views */, + FB1483A322CB898300449969 /* AppDelegate.swift */, + FB1483A522CB898300449969 /* Assets.xcassets */, + FB1483A722CB898300449969 /* MainMenu.xib */, + FB1483AA22CB898300449969 /* Info.plist */, + FB1483AB22CB898300449969 /* EhautX.entitlements */, + ); + path = EhautX; + sourceTree = ""; + }; + FB1483B322CB898300449969 /* EhautXTests */ = { + isa = PBXGroup; + children = ( + FB1483B422CB898300449969 /* EhautXTests.swift */, + FB1483B622CB898300449969 /* Info.plist */, + ); + path = EhautXTests; + sourceTree = ""; + }; + FB1483BE22CB898300449969 /* EhautXUITests */ = { + isa = PBXGroup; + children = ( + FB1483BF22CB898300449969 /* EhautXUITests.swift */, + FB1483C122CB898300449969 /* Info.plist */, + ); + path = EhautXUITests; + sourceTree = ""; + }; + FB1483CD22CB8B9800449969 /* Frameworks */ = { + isa = PBXGroup; + children = ( + FB1483CE22CB8B9800449969 /* Alamofire.framework */, + FB1483CF22CB8B9800449969 /* Preferences.framework */, + FB1483D022CB8B9800449969 /* SwiftyUserDefaults.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + FB1483D522CBA1D800449969 /* Views */ = { + isa = PBXGroup; + children = ( + FB1483D622CBA20200449969 /* GeneralPrefsViewController.swift */, + FB1483D722CBA20200449969 /* GeneralPrefsViewController.xib */, + FB1483DE22CBA82200449969 /* AdvancedPrefsViewController.swift */, + FB1483DF22CBA82200449969 /* AdvancedPrefsViewController.xib */, + ); + path = Views; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + FB14839F22CB898300449969 /* EhautX */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB1483C422CB898300449969 /* Build configuration list for PBXNativeTarget "EhautX" */; + buildPhases = ( + FB14839C22CB898300449969 /* Sources */, + FB14839D22CB898300449969 /* Frameworks */, + FB14839E22CB898300449969 /* Resources */, + FB1483D422CB8BA000449969 /* Run Script */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = EhautX; + productName = EhautX; + productReference = FB1483A022CB898300449969 /* EhautX.app */; + productType = "com.apple.product-type.application"; + }; + FB1483AF22CB898300449969 /* EhautXTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB1483C722CB898300449969 /* Build configuration list for PBXNativeTarget "EhautXTests" */; + buildPhases = ( + FB1483AC22CB898300449969 /* Sources */, + FB1483AD22CB898300449969 /* Frameworks */, + FB1483AE22CB898300449969 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + FB1483B222CB898300449969 /* PBXTargetDependency */, + ); + name = EhautXTests; + productName = EhautXTests; + productReference = FB1483B022CB898300449969 /* EhautXTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + FB1483BA22CB898300449969 /* EhautXUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB1483CA22CB898300449969 /* Build configuration list for PBXNativeTarget "EhautXUITests" */; + buildPhases = ( + FB1483B722CB898300449969 /* Sources */, + FB1483B822CB898300449969 /* Frameworks */, + FB1483B922CB898300449969 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + FB1483BD22CB898300449969 /* PBXTargetDependency */, + ); + name = EhautXUITests; + productName = EhautXUITests; + productReference = FB1483BB22CB898300449969 /* EhautXUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + FB14839822CB898300449969 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1020; + LastUpgradeCheck = 1020; + ORGANIZATIONNAME = "Ehaut Team"; + TargetAttributes = { + FB14839F22CB898300449969 = { + CreatedOnToolsVersion = 10.2.1; + }; + FB1483AF22CB898300449969 = { + CreatedOnToolsVersion = 10.2.1; + TestTargetID = FB14839F22CB898300449969; + }; + FB1483BA22CB898300449969 = { + CreatedOnToolsVersion = 10.2.1; + TestTargetID = FB14839F22CB898300449969; + }; + }; + }; + buildConfigurationList = FB14839B22CB898300449969 /* Build configuration list for PBXProject "EhautX" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = FB14839722CB898300449969; + productRefGroup = FB1483A122CB898300449969 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FB14839F22CB898300449969 /* EhautX */, + FB1483AF22CB898300449969 /* EhautXTests */, + FB1483BA22CB898300449969 /* EhautXUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + FB14839E22CB898300449969 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1483D922CBA20200449969 /* GeneralPrefsViewController.xib in Resources */, + FB1483E122CBA82200449969 /* AdvancedPrefsViewController.xib in Resources */, + FB1483A622CB898300449969 /* Assets.xcassets in Resources */, + FB1483A922CB898300449969 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1483AE22CB898300449969 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1483B922CB898300449969 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + FB1483D422CB8BA000449969 /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "$(SRCROOT)/input.xcfilelist", + ); + inputPaths = ( + ); + name = "Run Script"; + outputFileListPaths = ( + "$(SRCROOT)/output.xcfilelist", + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/usr/local/bin/carthage copy-frameworks\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FB14839C22CB898300449969 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1483D822CBA20200449969 /* GeneralPrefsViewController.swift in Sources */, + FB1483E022CBA82200449969 /* AdvancedPrefsViewController.swift in Sources */, + FB1483A422CB898300449969 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1483AC22CB898300449969 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1483B522CB898300449969 /* EhautXTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1483B722CB898300449969 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1483C022CB898300449969 /* EhautXUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + FB1483B222CB898300449969 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = FB14839F22CB898300449969 /* EhautX */; + targetProxy = FB1483B122CB898300449969 /* PBXContainerItemProxy */; + }; + FB1483BD22CB898300449969 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = FB14839F22CB898300449969 /* EhautX */; + targetProxy = FB1483BC22CB898300449969 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + FB1483A722CB898300449969 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + FB1483A822CB898300449969 /* Base */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + FB1483C222CB898300449969 /* 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_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; + CODE_SIGN_IDENTITY = "Mac Developer"; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + FB1483C322CB898300449969 /* 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_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; + CODE_SIGN_IDENTITY = "Mac Developer"; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + FB1483C522CB898300449969 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = EhautX; + CODE_SIGN_ENTITLEMENTS = EhautX/EhautX.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = GC96FM2SBJ; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = EhautX/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + FB1483C622CB898300449969 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = EhautX; + CODE_SIGN_ENTITLEMENTS = EhautX/EhautX.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = GC96FM2SBJ; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = EhautX/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + FB1483C822CB898300449969 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EhautX.app/Contents/MacOS/EhautX"; + }; + name = Debug; + }; + FB1483C922CB898300449969 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EhautX.app/Contents/MacOS/EhautX"; + }; + name = Release; + }; + FB1483CB22CB898300449969 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_TARGET_NAME = EhautX; + }; + name = Debug; + }; + FB1483CC22CB898300449969 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_TARGET_NAME = EhautX; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + FB14839B22CB898300449969 /* Build configuration list for PBXProject "EhautX" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1483C222CB898300449969 /* Debug */, + FB1483C322CB898300449969 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB1483C422CB898300449969 /* Build configuration list for PBXNativeTarget "EhautX" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1483C522CB898300449969 /* Debug */, + FB1483C622CB898300449969 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB1483C722CB898300449969 /* Build configuration list for PBXNativeTarget "EhautXTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1483C822CB898300449969 /* Debug */, + FB1483C922CB898300449969 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB1483CA22CB898300449969 /* Build configuration list for PBXNativeTarget "EhautXUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1483CB22CB898300449969 /* Debug */, + FB1483CC22CB898300449969 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = FB14839822CB898300449969 /* Project object */; +} diff --git a/EhautX.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/EhautX.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..35f01f6 --- /dev/null +++ b/EhautX.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/EhautX/Entitlements.plist b/EhautX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 66% rename from EhautX/Entitlements.plist rename to EhautX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist index ee95ab7..18d9810 100644 --- a/EhautX/Entitlements.plist +++ b/EhautX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -2,9 +2,7 @@ - com.apple.security.app-sandbox - - com.apple.security.network.client + IDEDidComputeMac32BitWarning diff --git a/EhautX/AppDelegate.cs b/EhautX/AppDelegate.cs deleted file mode 100644 index 8a42727..0000000 --- a/EhautX/AppDelegate.cs +++ /dev/null @@ -1,26 +0,0 @@ -using AppKit; -using EhautX.Model; -using Foundation; - -namespace EhautX -{ - [Register("AppDelegate")] - public class AppDelegate : NSApplicationDelegate - { - public AppPreferences Preferences { get; set; } = new AppPreferences(); - - public AppDelegate() - { - } - - public override void DidFinishLaunching(NSNotification notification) - { - // Insert code here to initialize your application - } - - public override void WillTerminate(NSNotification notification) - { - // Insert code here to tear down your application - } - } -} diff --git a/EhautX/AppDelegate.swift b/EhautX/AppDelegate.swift new file mode 100644 index 0000000..7df90f8 --- /dev/null +++ b/EhautX/AppDelegate.swift @@ -0,0 +1,90 @@ +// +// AppDelegate.swift +// EhautX +// +// Created by EhautTeam on 2019/7/2. +// Copyright © 2019 Ehaut Team. All rights reserved. +// + +import Cocoa +import Preferences +import SwiftyUserDefaults + +extension PreferencePane.Identifier { + static let general = Identifier("general") + static let advanced = Identifier("advanced") +} + +extension DefaultsKeys { + static let authServer = DefaultsKey("authServer", defaultValue: "http://172.16.154.130/cgi-bin/srun_portal") + static let msgServer = DefaultsKey("msgServer", defaultValue: "http://172.16.154.130/get_msg.php") + static let infoServer = DefaultsKey("infoServer", defaultValue: "http://172.16.154.130/cgi-bin/rad_user_info") + static let username = DefaultsKey("username") + static let password = DefaultsKey("password") + static let passwordKey = DefaultsKey("passwordKey", defaultValue: "1234567890") + + static let acid = DefaultsKey("acid", defaultValue: "1") + static let type = DefaultsKey("type", defaultValue: "10") + static let n = DefaultsKey("n", defaultValue: "117") + static let drop = DefaultsKey("drop", defaultValue: "0") + static let pop = DefaultsKey("pop", defaultValue: "1") + static let mbytes = DefaultsKey("mbytes", defaultValue: "0") + static let minutes = DefaultsKey("minutes", defaultValue: "0") + + static let only_acid = DefaultsKey("only_acid", defaultValue: false) + + static let timeout = DefaultsKey("timeout", defaultValue: 3) +} + +@NSApplicationMain +class AppDelegate: NSObject, NSApplicationDelegate { + + @IBOutlet weak var window: NSWindow! + + let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength); + + let preferencesWindowController = PreferencesWindowController( + preferencePanes: [ + GeneralPrefsViewController(), + AdvancedPrefsViewController(), + ] + ) + + func applicationDidFinishLaunching(_ aNotification: Notification) { + // Insert code here to initialize your application + + // Show the status icon + let button = statusItem.button + button?.image = NSImage(named: "NetworkDisconnect") + + // Build statusbar menu + let menu = NSMenu() + menu.addItem(NSMenuItem( + title: "About", + action: #selector(NSApplication.shared.orderFrontStandardAboutPanel(_:)), + keyEquivalent: "" + )) + menu.addItem(NSMenuItem.separator()) + menu.addItem(NSMenuItem( + title: "Preferences…", + action: #selector(self.preferencesMenuItemActionHandler(_:)), + keyEquivalent: "," + )) + menu.addItem(NSMenuItem.separator()) + menu.addItem(NSMenuItem( + title: "Quit", + action: #selector(NSApplication.shared.terminate(_:)), + keyEquivalent: "q" + )) + + statusItem.menu = menu + } + + func applicationWillTerminate(_ aNotification: Notification) { + // Insert code here to tear down your application + } + + @IBAction func preferencesMenuItemActionHandler(_ sender: NSMenuItem) { + preferencesWindowController.show() + } +} diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png deleted file mode 100644 index d0b5a8098ec92ef246530093b9293260d79b0430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8125 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 z zfrD^9(IVbFJtP8)VbRne-yVj00(pmG7y#NWmxBNG?6cSxV94Q0*&Xy==eQ_$Rf)-D z%|(+lZj6le9r~6R9cym zVMR(*&VY>4oK?^z9OvV}WgMT4H;Z>WN5x`{76z%if{bn{E|vjE4?rA+=jY}}n6oRv z0O0y7-8Et&fhXNkiZZ8Vq4L8DWso_q_GZRGoOxJKF;eNNNCkO;TJi!tWk2}A4>o{Y zKT=3Jrix_%U;{FUOiZaCmn_eJ-I8Mib3vb{S@y>lCPkud6J7X8$Og#XN-bf9%2>}J z;@*k#@a&&)LB#1aJe?_w|0-P8p_g%*%Xt=ZI@T7TX|Nl6+2wehA)ns+ zbwNub&@F+LV!(79L|FD=yh9oHQfLG;hNqB)TCvfiflmQ=D3*tg$Mgm+!6i(`?@X?B z)>M0Tim&_|Hi}vfMK=KAEJQbjCYZxgycY1rsUcDAYY-D*?Jgg9)%Cz^%a|1;W8gsX z&|Zd+398X)!wZvf%vJE1zZ^Z|g<{FFExY&a6;v(k|CQyShN4PP&mbt~y; z(~hfZt82H5uRYnWpDO35*d74v#^{33Ip&OBfGwPKW2jWZLF)ZAzDBy$YZ8SnXyy~H z+ypZ660YCyKQI*(v$Y#UI8LmB+f*bQ0!8pR4uHHbKtLTeWduyev82|1 zfLo?}X;v)93YyXT)5`Sv7>~<14tdsZ^?7Tyiu->4S;omFF17(+Zj|`bpI$3T1Hjnt z_P2Sa?sXzY(w8ot zIEEs)$D;w55Zt={k5 zB$~f^vyPs1R7?W^6W||;rw2tAW&uDb1p~m?@AR(~6H8FA#ut7$$#JSgD>LAf03Grw zy^5bH&A5_IN8oypvp5@sD%$^b%v**Rl-*lHWV zseu_W7mADN$~AI}7o^1k<=MU3>$%L3DgYFu;y8`G4wGdvuNjwFsX7VJE>gI;_scqU zJnsFVQ`5-Lx*D1r8|gCU)!r{4pKU0%0e}y9faut0>g{22dzi!Aglt*P4-Z?t4xJtr z<^EPNy+m_!(hj?MR=&*Zr(p%Kg-E4S87t8!2TTWQFvdvn%d~)~rJQE^w89j*#)6K_ zG+c~fr)}qf+Z>MayTu(pt6})%;$j;B_{0(K?@#}@SY+8L*`888-?JSo&UJR`zY^ah9OQ`mrM$$^(+Ucb8N*^QR4yV**v*oaZnHwlc&6Ndi9jHLmxl$JY_*1f z&5bppY<5H>!^DaqUE<0te1I56v7Xcn2YCgisa?Zh8nlzsDA7t&bP}cmrO_Da^sbv# zH^#~Iuz3FcE?RS)r)*Zb%?gPtw;00%;GhRZ=8WxOtFbWz8&dve-$qdxUlN|+5GhFO zuTmMrpsoYiOje%S!!r#5+~a}IG^l{nT(=5S(*`|g)I(=R!sv&~K)YP1S{MzF^k3)} zC;t4ugrnE69JU5u2?M~Hz)W~*GX3pgxmvfza(=&6E|>UH`xfDv9~N=)0*0a>Wc^^J zvjiD#H{WUo^_D3;tY?{im zA8+S|ic%L`n;vrYJ_=-Inqzepw$ndbwLAaTyUo~4PKI;=R9 zBS?i&n(-MIu{0)>NlY!TEi-k9UWS}JbTB#x*Qb+SGIGxj1m|WZM#Zt$Unaz?zbUYi z9w2e{Y)47FN4T8sM&3nUpn^6mCnLtRL<*Rd$%+S1Q%<_#ftM+;S6ikyorI7w;Q^+e zKb`2}9D0B6(Kk&1^~aZHr$@x8-@Zyncw$&(V_7;Btb_sJJZMYe{rBIW2}dHz_OR8t7669e1-^Xk z7U5VJ7m1~LfQ+E^b^2u`QOs!ri4qKBMH#V<&w0?8-M)n3hk}ZyL9+kF5Y`$QDHBt@ zuZduAktosoVE|c$6*U0jD6+7)h!-2kuv#7fCx;i10|b&~UjjAZZHMArec{QA*aCpvh)My| z$e4b(P6Z|FWRixirpT!H`ps912fy(Rd{m07&$^D4GypIcn;0K8wu#g0V^(#07`(ui zbq!)$b1iv+K9STveVnFna7}@GJkqL^4O|7Df?*gTZ2W5x$kPJqLf~@FYtT#oZjSVc zR-a4Uv}d!}dG*znULUto1|Zu=Kk@FKo|0GzuxQ~0zIwwBkyw}(Wubsngk)CN1R_>S zTADH`MRRSeNNpC8f@&$I2VI&$p@0IfAhg_Ne&bQ$3y+HjZ`~{BGi#b!uss}`Epw`7 zB@F-*lfp zE%RDkI+UxBT9V}{bfz?LE|u64?M<%tyW(p+75yhW&K&yiqYqvq{G9cfleJump)AU9 z_XjsA+UQ$2C+XY5lG##ud)VkyKs@o=55;)>J`t~Nx~Ms-($zwS1Ewlp%WKMqkfCQb z2$Uh1^BVN>zm7yW+53m5Ka8J#<5yzv81AxS0y9SkmNWQT3nqhEg`6!Wt6DQ7K?dkl zc#p6)zYi&R%!s)Zoh0RdNOXAh+5#P{_?)U;4Fd?#$0hr?!KGpV^6KDcwu@wF zPB=r;Qfc5(m1atDDYeUXKz(GkeD66#^Sotb#55p(!t6i1CUt2BK_`RZi>w59G*KHMB zlA|IK4H-Qb$~CSLa2E&n1ZTy=%^PzDUAxj?G&Do`3mr@Foq-1-`jKY`s=Q}pVBhmdBI>kTJesifaz=HmSoY zDl)vl`hhRBi?=&o5uWgrn6FqzlQq2XNs%chDOQrHv<_4i%|?PYF^!e>m51jO!#$mY zV&wFH6Fn4u%V zcd3N0#!a`2H;Y$JjEd8ddLf)u8PQphM$8Ev8}6PiGgzMJWjg8nnZsw2OM$*SnGi01?4j<4-^Rbob*w{b`cq1HDN_A&6Z7*6bCXk3 zLxV$u-RIAqJ^#)-@0@$#g%|q56sT_8tcr>K_ugK&5WTnYb1m08T-DNY*$7zatYDty zbB|~K*hn~^Pdxe8!>5z;Gl#{%$Agl;bbGX1^~I96Tvb+t@Blc%GlAJ*GJx%%s;YE~ zCSR?taB|($qj8xykC3FhjxkzoOpT9^4-5wR3#2aGpIE**vJAPbOrg)_d0Lqs=u77Z#-GLC+S>O-@b^ z4Gs?UoGTXjRFK!!XGc)xrFMrwZ}WOMh7Kti84J z^&esbn;i44rwaYj$$1Uz~p9MLL%{>o3TuSK0u; zG~^cV?C3c8d?2`C_w`rDtD8Jgas`Z}p%(VH!Vyna zE(I2cPJVoLac+E2biDPH2+%9c3f%j_bzTFl#b#q0ko$%kZrJpzXaDnOUEN(5j(+@c z7fr&tJ3BjZRSOE%CSsbaW+kc$Mp}h)nw85j^n^4km}3GNie65akPSLWH63fkt~>r- zG;VAc&YH%u3UUJoNi1Xv7|O~dFVy>^^l-K$$EZDpVxh%)8B}NL{ zfb3YnG~Pu=t$w&E#^8#EsY+(0nqdsToRU$WDl9ckMOg*#1tS2z9y*%opvi!M5kq#x zkRRHGaUOFRcs{<&3+1D%prIHIxEzBlR9s=f!NOD(%RQWx%rPq!c~0YetXz%(D^vi# zFj^P_dOr9CtXQ%`8_+%|oDY@00000NkvXXu0mjfrM-Pj diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png deleted file mode 100644 index f4c8d29047b85e28ae6929073e0e6e7ad07633c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20798 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¥2+%)?WBEa$R6H@mjUU!O2ybGQKSq*ivu{EVN&fUO zjwCp@O}w5gy!d!L#}Vjz>?E0%N)g_ncz9lpp1z!a#@}d1x*X$S+rUP(MkIHy1X`Dt z&0QT0x$4Qu?MI>OE4QV|{z!8~gz{C>Y>ZbY}=@WdZ))7`8 z)(Je?`2f!gd6@`UM4h_y%K7>6p?-7n$)89WnBKzy;G2Ja1xI~20rXp38Leg^Isnm` zuQVzzHaIYF4jEy=Ie=uXa9a@XsQ=nsvMo5(Ba>43S`gZlK$u7+|My7z!#$Ww<3w8X z;~C%L&}3we7?zn0sGWfo5co%0jZQ9C=VT@xpB`Hr?>fbOBxd={_wkHm2x8lB{LIha zSezU@ZMvR+U5dd8)foM0@EYnF03QL|3}B6I!#<#4{N)#ac_K=ln*pS1MsEwgU$zB{ z`o$xmA1GXY~`J(Cmt zSBA}*=Wxg;rv4cHG4jLkwZU^CkR!i#0IagGWF{2y41mhB@bCWa@6L+~L)#w5gOzN; z zt>ek_(9BL?SMr$V?84HC9EjqqfX)H+U|oDZMluYs?KgVrmv1bOT>XU^JbOioqw&+& z31Rd!d@lTDW#p#{3UwEN_lLe=724a|i{ruODl5wQnk8v0#0x<)^JtgN5lZ9(6wG{r z7k)8Gzo25b1uM$Te}2mW^YW$VP4ir@8L8^DO45cHrnRJz9xZ`DOHHKg|EMhDK}2H? zmPr~yI@K798s^Up7Jo8hu{ zQ&d`RjS@zl^s-Kva?uhre6MS36tiF*2uvqZ3FD{X(-DxLG=R*rarqaN1AL|fw*AJ= zzI0}J@ZytZb{HR_VX+S*3s?40bx#XE6x7CqLUjPtCY22s8yp(CxFwAPAXC0U7zcjw zIAP#r_7i7o^kVoC?>^nsE%Ix@cOTwmo;lrPcFtclS4;Ow?@jb$!X%;W;zW9Bjb7aFqDbz1z&4r>>jDkuGzt>`=n-L|7=$+Q4t=y zJBoV5p#7OPwPNV|FTGh~cC|E`x(HxH&{RWVaFvenwi;HFW7Bdjg!C{c|F|^tG1wC!YLL8sX?RkXg#W@%jVzEW} zJ%ypcp~3E}-B&N3K6&cwlTZHO>=REs(J$47J}b$k9*@nL5qarndGz|vO#j)dQg(3FKbzILsj^ZG z;ikBAn;3l~c+F2tO%Jy;Hf#y2I*fCz4j_EmUMkb}#HX}j+*%yUw!$^KmYSTpFeZv3|?H}9yO=0gs{sBbNUBAoNDR3WA6Heo~j)Own5P} zejVpM0*3(O4UXOxFaOAoG=h}_B;uX`i$mICbK~D!|HbRG!+j&>&By*-YJ|7_^uiyi znoHG9Qd%K90DYrq0CeEk=;-LBCfM?`f4Dv!wd~$MXQtrFw z>hH`^5{tIQ{Ma^M5W+Pfw$x!qBlz#g0lygQxC@2b?$aGx6pAb3Yn9`ID;7 zZMSWeuLV6*m0SrR(t!r7ag39e(8mixJBwgG={6F|Z~HBeoq6%>^3cU6%*^6)^1tByBZ?|Ml{NTB{wte?Zo_+C5 z!=bm`p?iANNDpSdt%rCp1RVv^kgL6mE+@#J&9vS2yYTXv`HA5k^XendN!b|v;Y_Ks zT&ZfLS_<6(;KtDixNM_zox6DA9dCUr@F}6Ls=^%X+>*1?cBwFqjG7-E8|&}u>%Vg4 z%B6E}y!P7JhaP(9>b<=dQgaRr2w$ zMKNHl0P2=_0TnJ0?`0~{B^rW0-+#}&q*Tt?gzxesj&VJ`R-{~43ALq0k z21vu@ed;vhH-g{|(r6rI6GBCB0EyYe#h<;oxb4u%kvE>JZMpXY_ZMM75R?);kVpjn zlSZTMf}h8S0@CqozKw|EegCo3&%d@bHE_b5|H(bdOP4R5e_f{Sk3IbGxz}EM4TnF{ z$aw@5jTiN0oG=W>ydc!Hy!R-a&c}_1rHQ9a!vTP9MhxKka?k0<1}Z8mww6{^m$h{^ z6_q5q76=f6BR391#l1wEd7r_7uG{*%Sx(&nC6yr}Ka z{rf7n+_tNzT;35XmS4T~P89~THhiRYVBs2<3vrD2_F9-Ra|4&J44-=8!cxzPr_7t* z$1z`c)YsR?Rb3c+aM}); zG|DKLjwUQm*E3xlZOeSd(?R4RfM-1e<>CGjumA>wko4k$Is43rTtAmIz7;4FVyqb? zoP2+o;|Bj|jlZHD&``PmFKYUK)@J&i^1cQ0wNY+X@w`t!K8q4Ek22A~Y~)}Z zG&)bG5l3KtBIW)&4dk!}f}KByt9r{-7cS*T$=jKbRMm2F?YifxOay?)-UG z@mr{@zGoe$NbLlG3#LiupwocUfYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4} jfYX4}fYU&3YvBI^u7mb`#rBZa00000NkvXXu0mjfHC<=i diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png deleted file mode 100644 index ebb5a0fe4e7e4ac7ed527449ad2c0e9848b0389a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 711 zcmV;&0yzDNP)Px%fk{L`R5%fZlg&;OQ547jGwqZ@X%VSVOicr=jg8RY2P|~q!o-Axh0%?X7wE#c zaifNW2QW(F1Gq53_y8s*#*mP}f<&-3qM_A<#?%5WbowzvJ9DSkb6cjef|H!N=bn$> znS16AaI!cl+)e76o0|(SEiXT$b>w)7bhHs`PcRtldOkltGBG}J%|AGB!|U~hoQe|Q zkS;V#<}sLsx>|g7ITm|jLqrE85{b}@mkUYVFg-CM%&OvGk zujnk3j_#Byn}u@KC7dV8KzG;X`62%#^IwqCm`m<<4>kkJMNxF@D3&S0N zs;XtnH1=)4(q;~dw;#E>3_1xI=dD$IvYaM6A{V1kD2}@w0QsxBRx8?oOkTyFV+e;d z60^x^`ZTB`h(UJOU^ouW#*PDOm9p9ba7rBRrOQ@G!>~9^x^s*mCKXx~BNMxs^)&QS z)&_{iR(5;)htnZLqDfC*4S|*Na2nMX#5jV83_B~@VUXnPs%pH9D^ay{~^?$>YBd`byQoaBH002ovPDHLkV1nX6P|W}U diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png deleted file mode 100644 index 0986d31bebb1199716226839d289d54925f9319c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1484 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¥2+%)?WBEa$R6H@mjUU!O2ybGQKSq*ivu{EVN&fUO zjwCp@O}w5gy!d!L#}Vjz>?E0%N)g_ncz9lpp1z!a#@}d1x*X$S+rUP(MkIHy1X`Dt z&0QT0x$4Qu?MI>OE4QV|{z!8~gz{C>Y>ZbY}=@WdZ))7`8 z)(Je?`2f!gd6@`UM4h_y%K7>6p?-7n$)89WnBKzy;G2Ja1xI~20rXp38Leg^Isnm` zuQVzzHaIYF4jEy=Ie=uXa9a@XsQ=nsvMo5(Ba>43S`gZlK$u7+|My7z!#$Ww<3w8X z;~C%L&}3we7?zn0sGWfo5co%0jZQ9C=VT@xpB`Hr?>fbOBxd={_wkHm2x8lB{LIha zSezU@ZMvR+U5dd8)foM0@EYnF03QL|3}B6I!#<#4{N)#ac_K=ln*pS1MsEwgU$zB{ z`o$xmA1GXY~`J(Cmt zSBA}*=Wxg;rv4cHG4jLkwZU^CkR!i#0IagGWF{2y41mhB@bCWa@6L+~L)#w5gOzN; z zt>ek_(9BL?SMr$V?84HC9EjqqfX)H+U|oDZMluYs?KgVrmv1bOT>XU^JbOioqw&+& z31Rd!d@lTDW#p#{3UwEN_lLe=724a|i{ruODl5wQnk8v0#0x<)^JtgN5lZ9(6wG{r z7k)8Gzo25b1uM$Te}2mW^YW$VP4ir@8L8^DO45cHrnRJz9xZ`DOHHKg|EMhDK}2H? zmPr~yI@K798s^Up7Jo8hu{ zQ&d`RjS@zl^s-Kva?uhre6MS36tiF*2uvqZ3FD{X(-DxLG=R*rarqaN1AL|fw*AJ= zzI0}J@ZytZb{HR_VX+S*3s?40bx#XE6x7CqLUjPtCY22s8yp(CxFwAPAXC0U7zcjw zIAP#r_7i7o^kVoC?>^nsE%Ix@cOTwmo;lrPcFtclS4;Ow?@jb$!X%;W;zW9Bjb7aFqDbz1z&4r>>jDkuGzt>`=n-L|7=$+Q4t=y zJBoV5p#7OPwPNV|FTGh~cC|E`x(HxH&{RWVaFvenwi;HFW7Bdjg!C{c|F|^tG1wC!YLL8sX?RkXg#W@%jVzEW} zJ%ypcp~3E}-B&N3K6&cwlTZHO>=REs(J$47J}b$k9*@nL5qarndGz|vO#j)dQg(3FKbzILsj^ZG z;ikBAn;3l~c+F2tO%Jy;Hf#y2I*fCz4j_EmUMkb}#HX}j+*%yUw!$^KmYSTpFeZv3|?H}9yO=0gs{sBbNUBAoNDR3WA6Heo~j)Own5P} zejVpM0*3(O4UXOxFaOAoG=h}_B;uX`i$mICbK~D!|HbRG!+j&>&By*-YJ|7_^uiyi znoHG9Qd%K90DYrq0CeEk=;-LBCfM?`f4Dv!wd~$MXQtrFw z>hH`^5{tIQ{Ma^M5W+Pfw$x!qBlz#g0lygQxC@2b?$aGx6pAb3Yn9`ID;7 zZMSWeuLV6*m0SrR(t!r7ag39e(8mixJBwgG={6F|Z~HBeoq6%>^3cU6%*^6)^1tByBZ?|Ml{NTB{wte?Zo_+C5 z!=bm`p?iANNDpSdt%rCp1RVv^kgL6mE+@#J&9vS2yYTXv`HA5k^XendN!b|v;Y_Ks zT&ZfLS_<6(;KtDixNM_zox6DA9dCUr@F}6Ls=^%X+>*1?cBwFqjG7-E8|&}u>%Vg4 z%B6E}y!P7JhaP(9>b<=dQgaRr2w$ zMKNHl0P2=_0TnJ0?`0~{B^rW0-+#}&q*Tt?gzxesj&VJ`R-{~43ALq0k z21vu@ed;vhH-g{|(r6rI6GBCB0EyYe#h<;oxb4u%kvE>JZMpXY_ZMM75R?);kVpjn zlSZTMf}h8S0@CqozKw|EegCo3&%d@bHE_b5|H(bdOP4R5e_f{Sk3IbGxz}EM4TnF{ z$aw@5jTiN0oG=W>ydc!Hy!R-a&c}_1rHQ9a!vTP9MhxKka?k0<1}Z8mww6{^m$h{^ z6_q5q76=f6BR391#l1wEd7r_7uG{*%Sx(&nC6yr}Ka z{rf7n+_tNzT;35XmS4T~P89~THhiRYVBs2<3vrD2_F9-Ra|4&J44-=8!cxzPr_7t* z$1z`c)YsR?Rb3c+aM}); zG|DKLjwUQm*E3xlZOeSd(?R4RfM-1e<>CGjumA>wko4k$Is43rTtAmIz7;4FVyqb? zoP2+o;|Bj|jlZHD&``PmFKYUK)@J&i^1cQ0wNY+X@w`t!K8q4Ek22A~Y~)}Z zG&)bG5l3KtBIW)&4dk!}f}KByt9r{-7cS*T$=jKbRMm2F?YifxOay?)-UG z@mr{@zGoe$NbLlG3#LiupwocUfYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4} jfYX4}fYU&3YvBI^u7mb`#rBZa00000NkvXXu0mjfHC<=i diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png deleted file mode 100644 index a142c83fb1c390d168ade09b98f6108ae5083f44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59335 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 DD=Zd> diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png deleted file mode 100644 index 0986d31bebb1199716226839d289d54925f9319c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1484 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 DD=Zd> diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/EhautX/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png deleted file mode 100644 index e99022ae84d056ebf09328dcdd69a44b8ff8c74d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177632 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�=9Apf*O#kZ|;78cG+WV_Mg6xm%Xm-E=ZgB2A@ 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

EOav5HX?n-U1Xbrv2b<6@EMn>RAar)@4 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 Z3WIK4q`#D^3JCal^g!c&{yo#z{|gM@$iM&q diff --git a/EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json b/EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 6b28545..0000000 --- a/EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images": [ - { - "filename": "AppIcon-16.png", - "size": "16x16", - "scale": "1x", - "idiom": "mac" - }, - { - "filename": "AppIcon-16@2x.png", - "size": "16x16", - "scale": "2x", - "idiom": "mac" - }, - { - "filename": "AppIcon-32.png", - "size": "32x32", - "scale": "1x", - "idiom": "mac" - }, - { - "filename": "AppIcon-32@2x.png", - "size": "32x32", - "scale": "2x", - "idiom": "mac" - }, - { - "filename": "AppIcon-128.png", - "size": "128x128", - "scale": "1x", - "idiom": "mac" - }, - { - "filename": "AppIcon-128@2x.png", - "size": "128x128", - "scale": "2x", - "idiom": "mac" - }, - { - "filename": "AppIcon-256.png", - "size": "256x256", - "scale": "1x", - "idiom": "mac" - }, - { - "filename": "AppIcon-256@2x.png", - "size": "256x256", - "scale": "2x", - "idiom": "mac" - }, - { - "filename": "AppIcon-512.png", - "size": "512x512", - "scale": "1x", - "idiom": "mac" - }, - { - "filename": "AppIcon-512@2x.png", - "size": "512x512", - "scale": "2x", - "idiom": "mac" - } - ], - "info": { - "version": 1, - "author": "xcode" - } -} \ No newline at end of file diff --git a/EhautX/Assets.xcassets/Contents.json b/EhautX/Assets.xcassets/Contents.json index 4caf392..da4a164 100644 --- a/EhautX/Assets.xcassets/Contents.json +++ b/EhautX/Assets.xcassets/Contents.json @@ -1,4 +1,4 @@ -{ +{ "info" : { "version" : 1, "author" : "xcode" diff --git a/EhautX/Assets.xcassets/EhautX.appiconset/Contents.json b/EhautX/Assets.xcassets/EhautX.appiconset/Contents.json new file mode 100644 index 0000000..2db2b1c --- /dev/null +++ b/EhautX/Assets.xcassets/EhautX.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json b/EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json new file mode 100644 index 0000000..175894d --- /dev/null +++ b/EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json @@ -0,0 +1,43 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "1x", + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ] + }, + { + "idiom" : "universal", + "filename" : "NetworkConnect@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "NetworkConnect@dark@2x.png", + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "NetworkConnect@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png b/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f2d4c549fbd55297ea4f01e69053ad39676a01bc GIT binary patch literal 718 zcmV;<0x|uGP)kdg0002oX+uL$M{;F( zb7Ns_WgtW~FaQ7;m1AIFjLAvPEoL!bV93oYDRK{TjEsnkQec0~z|O$Lzzc+miOIzU zjsXEa3^>8JYYdDa`m!#_EZpj_0+y82;$$Gb1&Ga(3yMmB^cx`dDK9AivKcLaY?17c zAZH*Oia)4|F1{VfX29W=- z>oWlB^JB;ds!Rrw1wh?J44Dk+3>ge13_3v3QlM!dbJDf0M5HOUDcbE~p zwbl7$ykb)p-sX7?ytB>eMgC297M>bi(({8IPS(!*vW?$gch?{7azbz^8&AA!cyLvF z?EK%(QNNs6)o@KouPMK>O~CQG{@)$VO8->R>=ORk?l@jBrE1VmL2%dFINt2O2_>}a zw>Rr&yHG`UJW-58f8RojvN=8G;sR)|4SLpyLM$eA%S8#gl+DKnu--F+5sy5e5I~Nas16j7E&d-Ix$p8QV07*qoM6N<$f)D;f ACIA2c literal 0 HcmV?d00001 diff --git a/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png b/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e4708d04b103f325936c62afaf1a0423eb1b8059 GIT binary patch literal 1165 zcmV;81akX{P)8JYYdDa`m!#_EZpj_0+y82;$$Gb1&Ga(3yMmB^cx`dDK9AivKcLaY?17c zAZH*Oia)4|F1{VfX29W=- z>oWlB^JB;ds!Rrw1wh?J44Dk+3>ge13_3v3QlM!dbJDi6FX)No0l+h#1HaMdHKI z)d(?iDkl@Q$r?vz(sI;sTs@rA+%Mg*BP+)y&~fzaj7loqD=PB>&TsIXo*yuE+THxF8rV_ ze^iZYTs7$IYNv&RrsfT=^OmzhIOH*f(&@Dh3&-=1{bFssH+~44RN*>DgeDi~3omHU zGXNjLR`az9J6x16zShS>;Kg-D_$2SVpJ(3)_z?b7n=k%Rr$)htu&wv+n7L}aJqEnE zR^)@9=3>7P~n}j3~b33KfzZ*cmV~kjfp=~ zYQ{5C!N%T4zoejGP1+n-IpE>1C@5Gx3jU33@%K7E1W>^9Bj7)mX}>wo$zdStRN$Fm zerYi!OZ+qkMtIK+D)Ho?)4$El5?`Zflt^z@g(vz2=)AkL#2d5dY*mBhy-j1Ymye>%e=qs`}Bb21A3UJg=Ujd;b|4t^s}&5 zSe*{fgS!3ykwLM`|21v=mpa?8p}52WVNZ(5W}lWgEqquiuXD6YKHI(BDPfCh^d(|- zN(=Q)3foJSex_r>vXln6Rj2To3&94VA*}&!c3fyO-y%na`%)X=#(rbxrhFz`V`+xX f+8p+JnriqTVoR^cPlmN000000NkvXXu0mjfuskdg0002oX+uL$M{;F( zb7Ns_WgtW~FaQ7;m1AIFjLAvPEoL!bV93oYDRK{TjEsnkQec0~z|O$Lzzc+miOIzU zjsXEa3^>8JYYdDa`m!#_EZpj_0+y82;$$Gb1&Ga(3yMmB^cx`dDK9AivKcLaY?17c zAZH*Oia)4|F1{VfX29W=- z>oWlB^JB;ds!Rrw1wh?J44Dk+3>ge13_3v3QlM!dbJDXZ%8Ie?HsBjkTgdn0ni$IN;0(VUeE{fWe+uGGCT3JE`)vi`WL1aNOMG-+{AOwm= zTI>FR8Xwqz2+gQjiy3p?d*e87&gOE?J-_dM_we3@(4js}>yBDVnHw74$w@Lqd995N z2{1{Nt@JX%8*K_r1E^Co>XM@y8r9~;Bu*#?a@4PPjo?u|)kOd~N;;wO7y~rXV}(*) z=Mc57yv7-)iR?07mw=Ay19Qr$T`j!eCp|X5vb)9=6yXZz%gGGi8K>9&RCd%9P=ZGs zswn*CfPMD%)VPB7Gv>h|&Lw|Wtr?`)9;kK6=Xn(Y9n=s5Tn%hIv%lU#)fp(s2*wZ6 zobs5SVxLWWdm~lw4LrwyB!i@xr?0$GAmhiY2*~9=yUWQA-jk-lbpX!TNbtDe49;<^ zB1Iu`pk`juOvdtRBg+t@{_n1)fMPr$L8leh zf-2+x6%;2&k&bXUxN0l^Ul*9=c;#DDuY(6%mILe|XNzHRKwI=tH|3~9zm#e~0Mx2s z-Il9vO)bB^^@j_V=POmTn3>=B|AWEAS7fF{R^oB#6cU0000kdg0002oX+uL$M{;F( zb7Ns_WgtW~FaQ7;m1AIFjLAvPEoL!bV93oYDRK{TjEsnkQec0~z|O$Lzzc+miOIzU zjsXEa3^>8JYYdDa`m!#_EZpj_0+y82;$$Gb1&Ga(3yMmB^cx`dDK9AivKcLaY?17c zAZH*Oia)4|F1{VfX29W=- z>oWlB^JB;ds!Rrw1wh?J44Dk+3>ge13_3v3QlM!dbJD)J1A}$U(=wDE12dSf41YZVm(ZNAdL$MXaihbM;DHhv@(t?vb!rJL9bF%f*t7-M9%qPreW`z>Gb}? zidI_gN!@)?Ha*UnT3OHfDHeOJFB#e_*CbQ2%_DQRB;(tCH&H9?c_*>S8v|&!AsO%Y zPAv9Jmm#y(AZkkV-^rP(f2@*OtJ8wjiQH|t?PBO_-`7-_qE#URV~e!@RZ`XdJuWnz z#_sr?KEVTtQ`ty3_y=dln8J|$ Rl%4Kk;L9 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 bP&a*RD{7lXYYjfF0qJQOYu4Owefa+XVh<(6 literal 0 HcmV?d00001 diff --git a/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png b/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..84765fe4de0a0a85e6f156e98628826d9fbc21bb GIT binary patch literal 823 zcmV-71IYY|P)kdg0002oX+uL$M{;F( zb7Ns_WgtW~FaQ7;m1AIFjLAvPEoL!bV93oYDRK{TjEsnkQec0~z|O$Lzzc+miOIzU zjsXEa3^>8JYYdDa`m!#_EZpj_0+y82;$$Gb1&Ga(3yMmB^cx`dDK9AivKcLaY?17c zAZH*Oia)4|F1{VfX29W=- z>oWlB^JB;ds!Rrw1wh?J44Dk+3>ge13_3v3QlM!dbJDjjmKoI%34>fjWd;>3TG%upVVfwyMN+hB(Z>1*q&9sl`yi+mQ4kSG3`!7vfEu-_ zlooB;4P<3Lq(PIKA2=-%xB8%Z{DhEKdyb!-|y2Q;d*jIL==>&uI1R}aYOs`}z!39SZDQdxBZ$Y^s^xKcOu zQ+eG`wYv3GtL7aO3ExVVhGH?oJKF5@ycgjXbesVnhZ@#0yWlzlbcHNyLQfE;ah z#=&U2Qj3(c`l4NWro0-KW`djdYC^rmM|)1EK--j4J!pltxba$jRY3*4Rh2sRS(`v+ zaYw-wddf=intjD$hzSnbAFd+qi!5f zoeY33s!Is~tyD4+3V_E$F3SMB>9Ml_cFOs=ggV%ukGd|SCXMM(3@{L}PVaR`o?7&M z;ddQ%d0>Ch%uXKghZ$ + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EhautX/EhautX.csproj b/EhautX/EhautX.csproj deleted file mode 100644 index 4b7a4a9..0000000 --- a/EhautX/EhautX.csproj +++ /dev/null @@ -1,105 +0,0 @@ - - - - Debug - AnyCPU - {75BF3CFF-AC12-49FA-88A7-AFD4889FA758} - {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Exe - EhautX - EhautX - v2.0 - Xamarin.Mac - Resources - - - true - full - false - bin\Debug - DEBUG; - prompt - 4 - false - Mac Developer - false - false - false - true - true - - - pdbonly - true - bin\Release - prompt - 4 - false - true - false - true - true - true - SdkOnly - - - - - - - ..\packages\RestSharp.106.6.9\lib\netstandard2.0\RestSharp.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ViewController.cs - - - - - GeneralPrefsController.cs - - - - NetworkPrefsController.cs - - - - AdvancedPrefsController.cs - - - - - - - - \ No newline at end of file diff --git a/EhautX/EhautX.entitlements b/EhautX/EhautX.entitlements new file mode 100644 index 0000000..f2ef3ae --- /dev/null +++ b/EhautX/EhautX.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/EhautX/Info.plist b/EhautX/Info.plist index 79b0531..86db7eb 100644 --- a/EhautX/Info.plist +++ b/EhautX/Info.plist @@ -2,33 +2,35 @@ - CFBundleName - EhautX - CFBundleIdentifier - com.zengxs.EhautX - CFBundleVersion - 1 - LSMinimumSystemVersion - 10.12 CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 + CFBundleName + $(PRODUCT_NAME) CFBundlePackageType APPL - CFBundleSignature - ???? - NSHumanReadableCopyright - ${AuthorCopyright:HtmlEncode} - NSPrincipalClass - NSApplication - NSMainStoryboardFile - Main - XSAppIconAssets - Assets.xcassets/AppIcon.appiconset CFBundleShortVersionString - 0.2.1 + 1.0 + CFBundleVersion + 1 LSApplicationCategoryType public.app-category.utilities + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + LSUIElement + + NSHumanReadableCopyright + Copyright © 2019 Ehaut Team. All rights reserved. + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication diff --git a/EhautX/Main.cs b/EhautX/Main.cs deleted file mode 100644 index 244b781..0000000 --- a/EhautX/Main.cs +++ /dev/null @@ -1,13 +0,0 @@ -using AppKit; - -namespace EhautX -{ - static class MainClass - { - static void Main(string[] args) - { - NSApplication.Init(); - NSApplication.Main(args); - } - } -} diff --git a/EhautX/Main.storyboard b/EhautX/Main.storyboard deleted file mode 100644 index b4cbb5c..0000000 --- a/EhautX/Main.storyboard +++ /dev/null @@ -1,728 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NSAllRomanInputSourcesLocaleIdentifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EhautX/Model/AppPreferences.cs b/EhautX/Model/AppPreferences.cs deleted file mode 100644 index cf63b89..0000000 --- a/EhautX/Model/AppPreferences.cs +++ /dev/null @@ -1,152 +0,0 @@ -using System; -using Foundation; - -namespace EhautX.Model -{ - [Register("AppPreferences")] - public class AppPreferences : NSObject - { - #region Computed Properties - [Export("ServerURL")] - public string ServerURL - { - get => LoadUrl("ServerURL", "http://172.16.154.130:69/cgi-bin/srun_portal"); - set => SaveUrl("ServerURL", value, true); - } - - [Export("ACID")] - public string ACID - { - get => LoadString("ACID", "1"); - set => SaveString("ACID", value, true); - } - - [Export("Username")] - public string Username - { - get => LoadString("Username", ""); - set => SaveString("Username", value, true); - } - - [Export("Password")] - public string Password - { - get => LoadString("Password", ""); - set => SaveString("Password", value, true); - } - - [Export("PasswordKey")] - public string PasswordKey - { - get => LoadString("PasswordKey", "1234567890"); - set => SaveString("PasswordKey", value, true); - } - - [Export("Timeout")] - public int Timeout - { - get => LoadInt("Timeout", 3); - set => SaveInt("Timeout", value, true); - } - - [Export("Type")] - public string Type - { - get => LoadString("Type", "10"); - set => SaveString("Type", value, true); - } - - [Export("N")] - public string N - { - get => LoadString("N", "117"); - set => SaveString("N", value, true); - } - - [Export("Drop")] - public string Drop - { - get => LoadString("Drop", "0"); - set => SaveString("Drop", value, true); - } - - [Export("Pop")] - public string Pop - { - get => LoadString("Pop", "1"); - set => SaveString("Pop", value, true); - } - - [Export("MBytes")] - public string MBytes - { - get => LoadString("MBytes", "0"); - set => SaveString("MBytes", value, true); - } - - [Export("Minutes")] - public string Minutes - { - get => LoadString("Minutes", "0"); - set => SaveString("Minutes", value, true); - } - #endregion - - private bool ExistKey(string key) - { - var dict = NSUserDefaults.StandardUserDefaults.ToDictionary(); - return dict.ContainsKey(new NSString(key)); - } - - #region Load & Save preference - private int LoadInt(string key, int defaultValue) - { - if (!ExistKey(key)) return defaultValue; - return (int)NSUserDefaults.StandardUserDefaults.IntForKey(key); - } - - private void SaveInt(string key, int value, bool sync) - { - NSUserDefaults.StandardUserDefaults.SetInt(value, key); - if (sync) NSUserDefaults.StandardUserDefaults.Synchronize(); - } - - private bool LoadBool(string key, bool defaultValue) - { - if (!ExistKey(key)) return defaultValue; - return NSUserDefaults.StandardUserDefaults.BoolForKey(key); - } - - private void SaveBool(string key, bool value, bool sync) - { - NSUserDefaults.StandardUserDefaults.SetBool(value, key); - if (sync) NSUserDefaults.StandardUserDefaults.Synchronize(); - } - - private string LoadUrl(string key, string defaultUrl) - { - NSUrl url = NSUserDefaults.StandardUserDefaults.URLForKey(key); - if (!ExistKey(key) || url == null) return defaultUrl; - return url.ToString(); - } - - private void SaveUrl(string key, string urlString, bool sync) - { - NSUserDefaults.StandardUserDefaults.SetURL(new NSUrl(urlString), key); - if (sync) NSUserDefaults.StandardUserDefaults.Synchronize(); - } - - private string LoadString(string key, string defaultString) - { - if (!ExistKey(key)) return defaultString; - return NSUserDefaults.StandardUserDefaults.StringForKey(key); - } - - private void SaveString(string key, string value, bool sync) - { - NSUserDefaults.StandardUserDefaults.SetString(value, key); - if (sync) NSUserDefaults.StandardUserDefaults.Synchronize(); - } - #endregion - } -} diff --git a/EhautX/Resources/.gitkeep b/EhautX/Resources/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/EhautX/Service/Crypto.cs b/EhautX/Service/Crypto.cs deleted file mode 100644 index b6c3318..0000000 --- a/EhautX/Service/Crypto.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Text; - -namespace EhautX.Service -{ - public static class Crypto - { - public static string UsernameEncrypt(string username) - { - var sb = new StringBuilder(); - sb.Append("{SRUN3}\r\n"); - - for (int i = 0; i < username.Length; ++i) - sb.Append((char)(username[i] + 4)); - - return sb.ToString(); - } - - public static string PasswordEncrypt(string password, string passwordKey) - { - var sb = new StringBuilder(); - - for (int i = 0; i < password.Length; ++i) - { - char ki = (char)(password[i] ^ passwordKey[passwordKey.Length - i % passwordKey.Length - 1]); - char _l = (char)((ki & 0x0f) + 0x36); - char _h = (char)((ki >> 4 & 0x0f) + 0x63); - if (i % 2 == 0) - sb.Append($"{_l}{_h}"); - else - sb.Append($"{_h}{_l}"); - } - - return sb.ToString(); - } - } -} diff --git a/EhautX/Service/Notify.cs b/EhautX/Service/Notify.cs deleted file mode 100644 index dd03203..0000000 --- a/EhautX/Service/Notify.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using Foundation; - -namespace EhautX.Service -{ - public static class Notify - { - public static void Send(string title, string content) - { - var notification = new NSUserNotification(); - notification.Title = title; - notification.InformativeText = content; - NSUserNotificationCenter.DefaultUserNotificationCenter.ShouldPresentNotification = (center, notify) => true; - NSUserNotificationCenter.DefaultUserNotificationCenter.ScheduleNotification(notification); - } - } -} diff --git a/EhautX/View/AdvancedPrefsController.cs b/EhautX/View/AdvancedPrefsController.cs deleted file mode 100644 index 53943a6..0000000 --- a/EhautX/View/AdvancedPrefsController.cs +++ /dev/null @@ -1,22 +0,0 @@ -// This file has been autogenerated from a class added in the UI designer. - -using System; - -using Foundation; -using AppKit; -using EhautX.Model; - -namespace EhautX.View -{ - public partial class AdvancedPrefsController : NSViewController - { - public static AppDelegate App => (AppDelegate)NSApplication.SharedApplication.Delegate; - - [Export("Preferences")] - public AppPreferences Preferences => App.Preferences; - - public AdvancedPrefsController(IntPtr handle) : base(handle) - { - } - } -} diff --git a/EhautX/View/AdvancedPrefsController.designer.cs b/EhautX/View/AdvancedPrefsController.designer.cs deleted file mode 100644 index de14095..0000000 --- a/EhautX/View/AdvancedPrefsController.designer.cs +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING -// -// This file has been generated automatically by Visual Studio to store outlets and -// actions made in the UI designer. If it is removed, they will be lost. -// Manual changes to this file may not be handled correctly. -// -using Foundation; -using System.CodeDom.Compiler; - -namespace EhautX.View -{ - [Register ("AdvancedPrefsController")] - partial class AdvancedPrefsController - { - - void ReleaseDesignerOutlets () - { - } - } -} diff --git a/EhautX/View/GeneralPrefsController.cs b/EhautX/View/GeneralPrefsController.cs deleted file mode 100644 index a0d9ace..0000000 --- a/EhautX/View/GeneralPrefsController.cs +++ /dev/null @@ -1,22 +0,0 @@ -// This file has been autogenerated from a class added in the UI designer. - -using System; - -using Foundation; -using AppKit; -using EhautX.Model; - -namespace EhautX.View -{ - public partial class GeneralPrefsController : NSViewController - { - public static AppDelegate App => (AppDelegate)NSApplication.SharedApplication.Delegate; - - [Export("Preferences")] - public AppPreferences Preferences => App.Preferences; - - public GeneralPrefsController(IntPtr handle) : base(handle) - { - } - } -} diff --git a/EhautX/View/GeneralPrefsController.designer.cs b/EhautX/View/GeneralPrefsController.designer.cs deleted file mode 100644 index 4aecd0e..0000000 --- a/EhautX/View/GeneralPrefsController.designer.cs +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING -// -// This file has been generated automatically by Visual Studio to store outlets and -// actions made in the UI designer. If it is removed, they will be lost. -// Manual changes to this file may not be handled correctly. -// -using Foundation; -using System.CodeDom.Compiler; - -namespace EhautX.View -{ - [Register ("GeneralPrefsController")] - partial class GeneralPrefsController - { - - void ReleaseDesignerOutlets () - { - } - } -} diff --git a/EhautX/View/NetworkPrefsController.cs b/EhautX/View/NetworkPrefsController.cs deleted file mode 100644 index a1d7510..0000000 --- a/EhautX/View/NetworkPrefsController.cs +++ /dev/null @@ -1,21 +0,0 @@ -// This file has been autogenerated from a class added in the UI designer. - -using System; -using AppKit; -using EhautX.Model; -using Foundation; - -namespace EhautX.View -{ - public partial class NetworkPrefsController : NSViewController - { - public static AppDelegate App => (AppDelegate)NSApplication.SharedApplication.Delegate; - - [Export("Preferences")] - public AppPreferences Preferences => App.Preferences; - - public NetworkPrefsController (IntPtr handle) : base (handle) - { - } - } -} diff --git a/EhautX/View/NetworkPrefsController.designer.cs b/EhautX/View/NetworkPrefsController.designer.cs deleted file mode 100644 index dcc6e71..0000000 --- a/EhautX/View/NetworkPrefsController.designer.cs +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING -// -// This file has been generated automatically by Visual Studio to store outlets and -// actions made in the UI designer. If it is removed, they will be lost. -// Manual changes to this file may not be handled correctly. -// -using Foundation; -using System.CodeDom.Compiler; - -namespace EhautX.View -{ - [Register ("NetworkPrefsController")] - partial class NetworkPrefsController - { - - void ReleaseDesignerOutlets () - { - } - } -} diff --git a/EhautX/View/ViewController.cs b/EhautX/View/ViewController.cs deleted file mode 100644 index 89f8c2c..0000000 --- a/EhautX/View/ViewController.cs +++ /dev/null @@ -1,117 +0,0 @@ -using System; - -using AppKit; -using CoreFoundation; -using EhautX.Model; -using EhautX.Service; -using Foundation; - -namespace EhautX.View -{ - public partial class ViewController : NSViewController - { - public static AppDelegate App => (AppDelegate)NSApplication.SharedApplication.Delegate; - - [Export("Preferences")] - public AppPreferences Preferences => App.Preferences; - - #region Consturctors - public ViewController(IntPtr handle) : base(handle) - { - } - #endregion - - #region Override Methods - public override void ViewDidLoad() - { - base.ViewDidLoad(); - - // Do any additional setup after loading the view. - } - - public override NSObject RepresentedObject - { - get - { - return base.RepresentedObject; - } - set - { - base.RepresentedObject = value; - // Update the view, if already loaded. - } - } - #endregion - - #region Button clicked action - partial void loginButton(NSObject sender) - { - DispatchQueue.MainQueue.DispatchAsync(() => - { - var username = Crypto.UsernameEncrypt(Preferences.Username); - var password = Crypto.PasswordEncrypt(Preferences.Password, Preferences.PasswordKey); - - var client = new RestSharp.RestClient(); - var request = new RestSharp.RestRequest(Preferences.ServerURL, RestSharp.Method.POST); - request.AddParameter("action", "login"); - request.AddParameter("username", username); - request.AddParameter("password", password); - request.AddParameter("drop", Preferences.Drop); - request.AddParameter("pop", Preferences.Pop); - request.AddParameter("type", Preferences.Type); - request.AddParameter("n", Preferences.N); - request.AddParameter("mbytes", Preferences.MBytes); - request.AddParameter("ac_id", Preferences.ACID); - request.AddParameter("mac", "02:00:00:00:00:00"); - request.Timeout = Preferences.Timeout * 1000; - - var response = client.Execute(request); - switch (response.ResponseStatus) - { - case RestSharp.ResponseStatus.TimedOut: - Notify.Send("连接错误", "连接超时"); - break; - case RestSharp.ResponseStatus.Error: - Notify.Send("连接错误", "连接错误"); - break; - default: - Notify.Send("登录状态", response.Content); - break; - } - }); - } - - partial void logoutButton(NSObject sender) - { - DispatchQueue.MainQueue.DispatchAsync(() => - { - var username = Crypto.UsernameEncrypt(Preferences.Username); - - var client = new RestSharp.RestClient(); - var request = new RestSharp.RestRequest(Preferences.ServerURL, RestSharp.Method.POST); - request.AddParameter("action", "logout"); - request.AddParameter("username", username); - request.AddParameter("type", Preferences.Type); - request.AddParameter("ac_id", Preferences.ACID); - request.AddParameter("mac", "02:00:00:00:00:00"); - request.Timeout = Preferences.Timeout * 1000; - - var response = client.Execute(request); - - switch (response.ResponseStatus) - { - case RestSharp.ResponseStatus.TimedOut: - Notify.Send("连接错误", "连接超时"); - break; - case RestSharp.ResponseStatus.Error: - Notify.Send("连接错误", "连接错误"); - break; - default: - Notify.Send("登出状态", response.Content); - break; - } - }); - } - #endregion - } -} diff --git a/EhautX/View/ViewController.designer.cs b/EhautX/View/ViewController.designer.cs deleted file mode 100644 index 3fd1daf..0000000 --- a/EhautX/View/ViewController.designer.cs +++ /dev/null @@ -1,25 +0,0 @@ -// WARNING -// -// This file has been generated automatically by Visual Studio to store outlets and -// actions made in the UI designer. If it is removed, they will be lost. -// Manual changes to this file may not be handled correctly. -// -using Foundation; -using System.CodeDom.Compiler; - -namespace EhautX.View -{ - [Register ("ViewController")] - partial class ViewController - { - [Action ("loginButton:")] - partial void loginButton (Foundation.NSObject sender); - - [Action ("logoutButton:")] - partial void logoutButton (Foundation.NSObject sender); - - void ReleaseDesignerOutlets () - { - } - } -} diff --git a/EhautX/Views/AdvancedPrefsViewController.swift b/EhautX/Views/AdvancedPrefsViewController.swift new file mode 100644 index 0000000..52fe977 --- /dev/null +++ b/EhautX/Views/AdvancedPrefsViewController.swift @@ -0,0 +1,83 @@ +// +// AdvancedPrefsViewController.swift +// EhautX +// +// Created by EhautTeam on 2019/7/2. +// Copyright © 2019 Ehaut Team. All rights reserved. +// + +import Cocoa +import Preferences +import SwiftyUserDefaults + +class AdvancedPrefsViewController: NSViewController, PreferencePane { + let preferencePaneIdentifier = PreferencePane.Identifier.advanced + let preferencePaneTitle = "Advanced" + let toolbarItemIcon = NSImage(named: NSImage.advancedName)! + + @objc dynamic var authServer: String { + get { return Defaults[.authServer] } + set { Defaults[.authServer] = newValue } + } + + @objc dynamic var msgServer: String { + get { return Defaults[.msgServer] } + set { Defaults[.msgServer] = newValue } + } + + @objc dynamic var infoServer: String { + get { return Defaults[.infoServer] } + set { Defaults[.infoServer] = newValue } + } + + @objc dynamic var passwordKey: String { + get { return Defaults[.passwordKey] } + set { Defaults[.passwordKey] = newValue } + } + + @objc dynamic var acid: String { + get { return Defaults[.acid] } + set { Defaults[.acid] = newValue } + } + + @objc dynamic var only_acid: Bool { + get { return Defaults[.only_acid] } + set { Defaults[.only_acid] = newValue } + } + + @objc dynamic var type: String { + get { return Defaults[.type] } + set { Defaults[.type] = newValue } + } + + @objc dynamic var n: String { + get { return Defaults[.n] } + set { Defaults[.n] = newValue } + } + + @objc dynamic var drop: String { + get { return Defaults[.drop] } + set { Defaults[.drop] = newValue } + } + + @objc dynamic var pop: String { + get { return Defaults[.pop] } + set { Defaults[.pop] = newValue } + } + + @objc dynamic var mbytes: String { + get { return Defaults[.mbytes] } + set { Defaults[.mbytes] = newValue } + } + + @objc dynamic var minutes: String { + get { return Defaults[.minutes] } + set { Defaults[.minutes] = newValue } + } + + override func viewDidLoad() { + super.viewDidLoad() + // Do view setup here. + } + +} diff --git a/EhautX/Views/AdvancedPrefsViewController.xib b/EhautX/Views/AdvancedPrefsViewController.xib new file mode 100644 index 0000000..11dafe6 --- /dev/null +++ b/EhautX/Views/AdvancedPrefsViewController.xib @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EhautX/Views/GeneralPrefsViewController.swift b/EhautX/Views/GeneralPrefsViewController.swift new file mode 100644 index 0000000..bd673bd --- /dev/null +++ b/EhautX/Views/GeneralPrefsViewController.swift @@ -0,0 +1,38 @@ +// +// GeneralPrefsViewController.swift +// EhautX +// +// Created by EhautTeam on 2019/7/2. +// Copyright © 2019 Ehaut Team. All rights reserved. +// + +import Cocoa +import Preferences +import SwiftyUserDefaults + +class GeneralPrefsViewController: NSViewController, PreferencePane { + let preferencePaneIdentifier = PreferencePane.Identifier.general + let preferencePaneTitle = "General" + let toolbarItemIcon = NSImage(named: NSImage.preferencesGeneralName)! + + @objc dynamic var username: String? { + get { return Defaults[.username] } + set { Defaults[.username] = newValue } + } + + @objc dynamic var password: String? { + get { return Defaults[.password] } + set { Defaults[.password] = newValue } + } + + @objc dynamic var timeout: Int { + get { return Defaults[.timeout] } + set { Defaults[.timeout] = newValue } + } + + override func viewDidLoad() { + super.viewDidLoad() + // Do view setup here. + } + +} diff --git a/EhautX/Views/GeneralPrefsViewController.xib b/EhautX/Views/GeneralPrefsViewController.xib new file mode 100644 index 0000000..b0e2c3c --- /dev/null +++ b/EhautX/Views/GeneralPrefsViewController.xib @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EhautX/packages.config b/EhautX/packages.config deleted file mode 100644 index e61aa0f..0000000 --- a/EhautX/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/EhautXTests/EhautXTests.swift b/EhautXTests/EhautXTests.swift new file mode 100644 index 0000000..741b546 --- /dev/null +++ b/EhautXTests/EhautXTests.swift @@ -0,0 +1,34 @@ +// +// EhautXTests.swift +// EhautXTests +// +// Created by EhautTeam on 2019/7/2. +// Copyright © 2019 Ehaut Team. All rights reserved. +// + +import XCTest +@testable import EhautX + +class EhautXTests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/EhautXTests/Info.plist b/EhautXTests/Info.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/EhautXTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/EhautXUITests/EhautXUITests.swift b/EhautXUITests/EhautXUITests.swift new file mode 100644 index 0000000..12c379c --- /dev/null +++ b/EhautXUITests/EhautXUITests.swift @@ -0,0 +1,34 @@ +// +// EhautXUITests.swift +// EhautXUITests +// +// Created by EhautTeam on 2019/7/2. +// Copyright © 2019 Ehaut Team. All rights reserved. +// + +import XCTest + +class EhautXUITests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. + XCUIApplication().launch() + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + +} diff --git a/EhautXUITests/Info.plist b/EhautXUITests/Info.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/EhautXUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/input.xcfilelist b/input.xcfilelist new file mode 100644 index 0000000..c8aac9f --- /dev/null +++ b/input.xcfilelist @@ -0,0 +1,3 @@ +$(SRCROOT)/Carthage/Build/Mac/Alamofire.framework +$(SRCROOT)/Carthage/Build/Mac/Preferences.framework +$(SRCROOT)/Carthage/Build/Mac/SwiftyUserDefaults.framework diff --git a/output.xcfilelist b/output.xcfilelist new file mode 100644 index 0000000..e24d020 --- /dev/null +++ b/output.xcfilelist @@ -0,0 +1,3 @@ +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Preferences.framework +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SwiftyUserDefaults.framework From 74d8b52106aac1b47800ebd34d2ac9eb8de54588 Mon Sep 17 00:00:00 2001 From: zengxs Date: Wed, 7 Aug 2019 17:47:31 +0800 Subject: [PATCH 2/3] Add iOS Support --- .gitmodules | 24 +- EhautX.iOS/Cartfile | 5 + EhautX.iOS/Cartfile.resolved | 4 + .../Carthage}/Checkouts/Alamofire | 0 .../Carthage/Checkouts/IQKeyboardManager | 1 + EhautX.iOS/Carthage/Checkouts/JGProgressHUD | 1 + .../Checkouts/SkyFloatingLabelTextField | 1 + .../EhautX.iOS.xcodeproj/project.pbxproj | 646 ++++++++++++++++++ .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 EhautX.iOS/EhautX/AppDelegate.swift | 46 ++ .../AppIcon.appiconset/Contents.json | 98 +++ .../EhautX}/Assets.xcassets/Contents.json | 0 .../EhautX/Base.lproj/LaunchScreen.storyboard | 25 + EhautX.iOS/EhautX/Base.lproj/Main.storyboard | 24 + EhautX.iOS/EhautX/Info.plist | 45 ++ EhautX.iOS/EhautX/ViewController.swift | 20 + EhautX.iOS/EhautXTests/EhautXTests.swift | 34 + .../EhautXTests}/Info.plist | 0 EhautX.iOS/EhautXUITests/EhautXUITests.swift | 34 + .../EhautXUITests}/Info.plist | 0 EhautX.iOS/input.xcfilelist | 4 + EhautX.iOS/output.xcfilelist | 4 + Cartfile => EhautX.macOS/Cartfile | 0 .../Cartfile.resolved | 0 EhautX.macOS/Carthage/Checkouts/Alamofire | 1 + .../Carthage}/Checkouts/Preferences | 0 .../Carthage}/Checkouts/SwiftyUserDefaults | 0 .../EhautX.macOS.xcodeproj}/project.pbxproj | 4 +- .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../EhautX}/AppDelegate.swift | 0 .../EhautX/Assets.xcassets/Contents.json | 6 + .../EhautX.appiconset/Contents.json | 0 .../NetworkConnect.imageset/Contents.json | 0 .../NetworkConnect@2x.png | Bin .../NetworkConnect@3x.png | Bin .../NetworkConnect@dark@2x.png | Bin .../NetworkDisconnect.imageset/Contents.json | 0 .../NetworkDisconnect@2x.png | Bin .../NetworkDisconnect@3x.png | Bin .../NetworkDisconnect@dark@2x.png | Bin .../EhautX}/Base.lproj/MainMenu.xib | 0 .../EhautX}/EhautX.entitlements | 0 {EhautX => EhautX.macOS/EhautX}/Info.plist | 0 .../Views/AdvancedPrefsViewController.swift | 0 .../Views/AdvancedPrefsViewController.xib | 0 .../Views/GeneralPrefsViewController.swift | 0 .../Views/GeneralPrefsViewController.xib | 0 .../EhautXTests}/EhautXTests.swift | 0 EhautX.macOS/EhautXTests/Info.plist | 22 + .../EhautXUITests}/EhautXUITests.swift | 0 EhautX.macOS/EhautXUITests/Info.plist | 22 + .../input.xcfilelist | 0 .../output.xcfilelist | 0 EhautX.xcworkspace/contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + 57 files changed, 1099 insertions(+), 5 deletions(-) create mode 100644 EhautX.iOS/Cartfile create mode 100644 EhautX.iOS/Cartfile.resolved rename {Carthage => EhautX.iOS/Carthage}/Checkouts/Alamofire (100%) create mode 160000 EhautX.iOS/Carthage/Checkouts/IQKeyboardManager create mode 160000 EhautX.iOS/Carthage/Checkouts/JGProgressHUD create mode 160000 EhautX.iOS/Carthage/Checkouts/SkyFloatingLabelTextField create mode 100644 EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj rename {EhautX.xcodeproj => EhautX.iOS/EhautX.iOS.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename {EhautX.xcodeproj => EhautX.iOS/EhautX.iOS.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) create mode 100644 EhautX.iOS/EhautX/AppDelegate.swift create mode 100644 EhautX.iOS/EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json rename {EhautX => EhautX.iOS/EhautX}/Assets.xcassets/Contents.json (100%) create mode 100644 EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard create mode 100644 EhautX.iOS/EhautX/Base.lproj/Main.storyboard create mode 100644 EhautX.iOS/EhautX/Info.plist create mode 100644 EhautX.iOS/EhautX/ViewController.swift create mode 100644 EhautX.iOS/EhautXTests/EhautXTests.swift rename {EhautXTests => EhautX.iOS/EhautXTests}/Info.plist (100%) create mode 100644 EhautX.iOS/EhautXUITests/EhautXUITests.swift rename {EhautXUITests => EhautX.iOS/EhautXUITests}/Info.plist (100%) create mode 100644 EhautX.iOS/input.xcfilelist create mode 100644 EhautX.iOS/output.xcfilelist rename Cartfile => EhautX.macOS/Cartfile (100%) rename Cartfile.resolved => EhautX.macOS/Cartfile.resolved (100%) create mode 160000 EhautX.macOS/Carthage/Checkouts/Alamofire rename {Carthage => EhautX.macOS/Carthage}/Checkouts/Preferences (100%) rename {Carthage => EhautX.macOS/Carthage}/Checkouts/SwiftyUserDefaults (100%) rename {EhautX.xcodeproj => EhautX.macOS/EhautX.macOS.xcodeproj}/project.pbxproj (99%) create mode 100644 EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename {EhautX => EhautX.macOS/EhautX}/AppDelegate.swift (100%) create mode 100644 EhautX.macOS/EhautX/Assets.xcassets/Contents.json rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/EhautX.appiconset/Contents.json (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkConnect.imageset/Contents.json (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@dark@2x.png (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkDisconnect.imageset/Contents.json (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@2x.png (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@3x.png (100%) rename {EhautX => EhautX.macOS/EhautX}/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png (100%) rename {EhautX => EhautX.macOS/EhautX}/Base.lproj/MainMenu.xib (100%) rename {EhautX => EhautX.macOS/EhautX}/EhautX.entitlements (100%) rename {EhautX => EhautX.macOS/EhautX}/Info.plist (100%) rename {EhautX => EhautX.macOS/EhautX}/Views/AdvancedPrefsViewController.swift (100%) rename {EhautX => EhautX.macOS/EhautX}/Views/AdvancedPrefsViewController.xib (100%) rename {EhautX => EhautX.macOS/EhautX}/Views/GeneralPrefsViewController.swift (100%) rename {EhautX => EhautX.macOS/EhautX}/Views/GeneralPrefsViewController.xib (100%) rename {EhautXTests => EhautX.macOS/EhautXTests}/EhautXTests.swift (100%) create mode 100644 EhautX.macOS/EhautXTests/Info.plist rename {EhautXUITests => EhautX.macOS/EhautXUITests}/EhautXUITests.swift (100%) create mode 100644 EhautX.macOS/EhautXUITests/Info.plist rename input.xcfilelist => EhautX.macOS/input.xcfilelist (100%) rename output.xcfilelist => EhautX.macOS/output.xcfilelist (100%) create mode 100644 EhautX.xcworkspace/contents.xcworkspacedata create mode 100644 EhautX.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/.gitmodules b/.gitmodules index b3485bf..812bcb8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,27 @@ +[submodule "EhautX.macOS/Carthage/Checkouts/SwiftyUserDefaults"] + path = EhautX.macOS/Carthage/Checkouts/SwiftyUserDefaults + url = https://github.com/radex/SwiftyUserDefaults.git +[submodule "EhautX.macOS/Carthage/Checkouts/Preferences"] + path = EhautX.macOS/Carthage/Checkouts/Preferences + url = https://github.com/sindresorhus/Preferences.git +[submodule "EhautX.macOS/Carthage/Checkouts/Alamofire"] + path = EhautX.macOS/Carthage/Checkouts/Alamofire + url = https://github.com/Alamofire/Alamofire.git [submodule "Carthage/Checkouts/SwiftyUserDefaults"] - path = Carthage/Checkouts/SwiftyUserDefaults + path = EhautX.macOS/Carthage/Checkouts/SwiftyUserDefaults url = https://github.com/radex/SwiftyUserDefaults.git [submodule "Carthage/Checkouts/Preferences"] - path = Carthage/Checkouts/Preferences + path = EhautX.macOS/Carthage/Checkouts/Preferences url = https://github.com/sindresorhus/Preferences.git [submodule "Carthage/Checkouts/Alamofire"] - path = Carthage/Checkouts/Alamofire + path = EhautX.iOS/Carthage/Checkouts/Alamofire url = https://github.com/Alamofire/Alamofire.git +[submodule "Carthage/Checkouts/JGProgressHUD"] + path = EhautX.iOS/Carthage/Checkouts/JGProgressHUD + url = https://github.com/JonasGessner/JGProgressHUD.git +[submodule "Carthage/Checkouts/SkyFloatingLabelTextField"] + path = EhautX.iOS/Carthage/Checkouts/SkyFloatingLabelTextField + url = https://github.com/Skyscanner/SkyFloatingLabelTextField.git +[submodule "Carthage/Checkouts/IQKeyboardManager"] + path = EhautX.iOS/Carthage/Checkouts/IQKeyboardManager + url = https://github.com/hackiftekhar/IQKeyboardManager.git diff --git a/EhautX.iOS/Cartfile b/EhautX.iOS/Cartfile new file mode 100644 index 0000000..9f2380e --- /dev/null +++ b/EhautX.iOS/Cartfile @@ -0,0 +1,5 @@ +github "Alamofire/Alamofire" ~>4.8 +github "Skyscanner/SkyFloatingLabelTextField" ~>3.0 +github "hackiftekhar/IQKeyboardManager" ~>6.4 +github "JonasGessner/JGProgressHUD" ~>2.0 + diff --git a/EhautX.iOS/Cartfile.resolved b/EhautX.iOS/Cartfile.resolved new file mode 100644 index 0000000..869d3ad --- /dev/null +++ b/EhautX.iOS/Cartfile.resolved @@ -0,0 +1,4 @@ +github "Alamofire/Alamofire" "4.8.2" +github "JonasGessner/JGProgressHUD" "v2.0.3" +github "Skyscanner/SkyFloatingLabelTextField" "v3.7.0" +github "hackiftekhar/IQKeyboardManager" "v6.4.1" diff --git a/Carthage/Checkouts/Alamofire b/EhautX.iOS/Carthage/Checkouts/Alamofire similarity index 100% rename from Carthage/Checkouts/Alamofire rename to EhautX.iOS/Carthage/Checkouts/Alamofire diff --git a/EhautX.iOS/Carthage/Checkouts/IQKeyboardManager b/EhautX.iOS/Carthage/Checkouts/IQKeyboardManager new file mode 160000 index 0000000..3f31c45 --- /dev/null +++ b/EhautX.iOS/Carthage/Checkouts/IQKeyboardManager @@ -0,0 +1 @@ +Subproject commit 3f31c45feae664bcd81615796ab444e1ff450d54 diff --git a/EhautX.iOS/Carthage/Checkouts/JGProgressHUD b/EhautX.iOS/Carthage/Checkouts/JGProgressHUD new file mode 160000 index 0000000..cb523a5 --- /dev/null +++ b/EhautX.iOS/Carthage/Checkouts/JGProgressHUD @@ -0,0 +1 @@ +Subproject commit cb523a5304572387edd811e67170ebfdad174475 diff --git a/EhautX.iOS/Carthage/Checkouts/SkyFloatingLabelTextField b/EhautX.iOS/Carthage/Checkouts/SkyFloatingLabelTextField new file mode 160000 index 0000000..b398f65 --- /dev/null +++ b/EhautX.iOS/Carthage/Checkouts/SkyFloatingLabelTextField @@ -0,0 +1 @@ +Subproject commit b398f65ffffb07cd8f57af93bd76c1f681fa9100 diff --git a/EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj b/EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj new file mode 100644 index 0000000..afc782f --- /dev/null +++ b/EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj @@ -0,0 +1,646 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + FB1E5E7C22FAC7BC00A42A92 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1E5E7B22FAC7BC00A42A92 /* AppDelegate.swift */; }; + FB1E5E7E22FAC7BC00A42A92 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1E5E7D22FAC7BC00A42A92 /* ViewController.swift */; }; + FB1E5E8122FAC7BC00A42A92 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FB1E5E7F22FAC7BC00A42A92 /* Main.storyboard */; }; + FB1E5E8322FAC7BC00A42A92 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FB1E5E8222FAC7BC00A42A92 /* Assets.xcassets */; }; + FB1E5E8622FAC7BC00A42A92 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FB1E5E8422FAC7BC00A42A92 /* LaunchScreen.storyboard */; }; + FB1E5E9122FAC7BD00A42A92 /* EhautXTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1E5E9022FAC7BD00A42A92 /* EhautXTests.swift */; }; + FB1E5E9C22FAC7BD00A42A92 /* EhautXUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1E5E9B22FAC7BD00A42A92 /* EhautXUITests.swift */; }; + FB1E5EBE22FAD51100A42A92 /* SkyFloatingLabelTextField.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1E5EBA22FAD51100A42A92 /* SkyFloatingLabelTextField.framework */; }; + FB1E5EBF22FAD51100A42A92 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1E5EBB22FAD51100A42A92 /* Alamofire.framework */; }; + FB1E5EC022FAD51100A42A92 /* IQKeyboardManagerSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1E5EBC22FAD51100A42A92 /* IQKeyboardManagerSwift.framework */; }; + FB1E5EC122FAD51100A42A92 /* JGProgressHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1E5EBD22FAD51100A42A92 /* JGProgressHUD.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + FB1E5E8D22FAC7BD00A42A92 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FB1E5E7022FAC7BC00A42A92 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FB1E5E7722FAC7BC00A42A92; + remoteInfo = EhautX; + }; + FB1E5E9822FAC7BD00A42A92 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FB1E5E7022FAC7BC00A42A92 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FB1E5E7722FAC7BC00A42A92; + remoteInfo = EhautX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + FB1E5E7822FAC7BC00A42A92 /* EhautX.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EhautX.app; sourceTree = BUILT_PRODUCTS_DIR; }; + FB1E5E7B22FAC7BC00A42A92 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + FB1E5E7D22FAC7BC00A42A92 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + FB1E5E8022FAC7BC00A42A92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + FB1E5E8222FAC7BC00A42A92 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + FB1E5E8522FAC7BC00A42A92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + FB1E5E8722FAC7BC00A42A92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FB1E5E8C22FAC7BD00A42A92 /* EhautXTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EhautXTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + FB1E5E9022FAC7BD00A42A92 /* EhautXTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EhautXTests.swift; sourceTree = ""; }; + FB1E5E9222FAC7BD00A42A92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FB1E5E9722FAC7BD00A42A92 /* EhautXUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EhautXUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + FB1E5E9B22FAC7BD00A42A92 /* EhautXUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EhautXUITests.swift; sourceTree = ""; }; + FB1E5E9D22FAC7BD00A42A92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FB1E5EBA22FAD51100A42A92 /* SkyFloatingLabelTextField.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyFloatingLabelTextField.framework; path = Carthage/Build/iOS/SkyFloatingLabelTextField.framework; sourceTree = ""; }; + FB1E5EBB22FAD51100A42A92 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = ""; }; + FB1E5EBC22FAD51100A42A92 /* IQKeyboardManagerSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IQKeyboardManagerSwift.framework; path = Carthage/Build/iOS/IQKeyboardManagerSwift.framework; sourceTree = ""; }; + FB1E5EBD22FAD51100A42A92 /* JGProgressHUD.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JGProgressHUD.framework; path = Carthage/Build/iOS/JGProgressHUD.framework; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FB1E5E7522FAC7BC00A42A92 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1E5EBE22FAD51100A42A92 /* SkyFloatingLabelTextField.framework in Frameworks */, + FB1E5EBF22FAD51100A42A92 /* Alamofire.framework in Frameworks */, + FB1E5EC022FAD51100A42A92 /* IQKeyboardManagerSwift.framework in Frameworks */, + FB1E5EC122FAD51100A42A92 /* JGProgressHUD.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1E5E8922FAC7BD00A42A92 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1E5E9422FAC7BD00A42A92 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + FB1E5E6F22FAC7BC00A42A92 = { + isa = PBXGroup; + children = ( + FB1E5E7A22FAC7BC00A42A92 /* EhautX */, + FB1E5E8F22FAC7BD00A42A92 /* EhautXTests */, + FB1E5E9A22FAC7BD00A42A92 /* EhautXUITests */, + FB1E5E7922FAC7BC00A42A92 /* Products */, + FB1E5EB922FAD51100A42A92 /* Frameworks */, + ); + sourceTree = ""; + }; + FB1E5E7922FAC7BC00A42A92 /* Products */ = { + isa = PBXGroup; + children = ( + FB1E5E7822FAC7BC00A42A92 /* EhautX.app */, + FB1E5E8C22FAC7BD00A42A92 /* EhautXTests.xctest */, + FB1E5E9722FAC7BD00A42A92 /* EhautXUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + FB1E5E7A22FAC7BC00A42A92 /* EhautX */ = { + isa = PBXGroup; + children = ( + FB1E5E7B22FAC7BC00A42A92 /* AppDelegate.swift */, + FB1E5E7D22FAC7BC00A42A92 /* ViewController.swift */, + FB1E5E7F22FAC7BC00A42A92 /* Main.storyboard */, + FB1E5E8222FAC7BC00A42A92 /* Assets.xcassets */, + FB1E5E8422FAC7BC00A42A92 /* LaunchScreen.storyboard */, + FB1E5E8722FAC7BC00A42A92 /* Info.plist */, + ); + path = EhautX; + sourceTree = ""; + }; + FB1E5E8F22FAC7BD00A42A92 /* EhautXTests */ = { + isa = PBXGroup; + children = ( + FB1E5E9022FAC7BD00A42A92 /* EhautXTests.swift */, + FB1E5E9222FAC7BD00A42A92 /* Info.plist */, + ); + path = EhautXTests; + sourceTree = ""; + }; + FB1E5E9A22FAC7BD00A42A92 /* EhautXUITests */ = { + isa = PBXGroup; + children = ( + FB1E5E9B22FAC7BD00A42A92 /* EhautXUITests.swift */, + FB1E5E9D22FAC7BD00A42A92 /* Info.plist */, + ); + path = EhautXUITests; + sourceTree = ""; + }; + FB1E5EB922FAD51100A42A92 /* Frameworks */ = { + isa = PBXGroup; + children = ( + FB1E5EBB22FAD51100A42A92 /* Alamofire.framework */, + FB1E5EBC22FAD51100A42A92 /* IQKeyboardManagerSwift.framework */, + FB1E5EBD22FAD51100A42A92 /* JGProgressHUD.framework */, + FB1E5EBA22FAD51100A42A92 /* SkyFloatingLabelTextField.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + FB1E5E7722FAC7BC00A42A92 /* EhautX */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB1E5EA022FAC7BD00A42A92 /* Build configuration list for PBXNativeTarget "EhautX" */; + buildPhases = ( + FB1E5E7422FAC7BC00A42A92 /* Sources */, + FB1E5E7522FAC7BC00A42A92 /* Frameworks */, + FB1E5E7622FAC7BC00A42A92 /* Resources */, + FB1E5EB822FAD4A500A42A92 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = EhautX; + productName = EhautX; + productReference = FB1E5E7822FAC7BC00A42A92 /* EhautX.app */; + productType = "com.apple.product-type.application"; + }; + FB1E5E8B22FAC7BD00A42A92 /* EhautXTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB1E5EA322FAC7BD00A42A92 /* Build configuration list for PBXNativeTarget "EhautXTests" */; + buildPhases = ( + FB1E5E8822FAC7BD00A42A92 /* Sources */, + FB1E5E8922FAC7BD00A42A92 /* Frameworks */, + FB1E5E8A22FAC7BD00A42A92 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + FB1E5E8E22FAC7BD00A42A92 /* PBXTargetDependency */, + ); + name = EhautXTests; + productName = EhautXTests; + productReference = FB1E5E8C22FAC7BD00A42A92 /* EhautXTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + FB1E5E9622FAC7BD00A42A92 /* EhautXUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB1E5EA622FAC7BD00A42A92 /* Build configuration list for PBXNativeTarget "EhautXUITests" */; + buildPhases = ( + FB1E5E9322FAC7BD00A42A92 /* Sources */, + FB1E5E9422FAC7BD00A42A92 /* Frameworks */, + FB1E5E9522FAC7BD00A42A92 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + FB1E5E9922FAC7BD00A42A92 /* PBXTargetDependency */, + ); + name = EhautXUITests; + productName = EhautXUITests; + productReference = FB1E5E9722FAC7BD00A42A92 /* EhautXUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + FB1E5E7022FAC7BC00A42A92 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1030; + LastUpgradeCheck = 1030; + ORGANIZATIONNAME = Ehaut; + TargetAttributes = { + FB1E5E7722FAC7BC00A42A92 = { + CreatedOnToolsVersion = 10.3; + }; + FB1E5E8B22FAC7BD00A42A92 = { + CreatedOnToolsVersion = 10.3; + TestTargetID = FB1E5E7722FAC7BC00A42A92; + }; + FB1E5E9622FAC7BD00A42A92 = { + CreatedOnToolsVersion = 10.3; + TestTargetID = FB1E5E7722FAC7BC00A42A92; + }; + }; + }; + buildConfigurationList = FB1E5E7322FAC7BC00A42A92 /* Build configuration list for PBXProject "EhautX.iOS" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = FB1E5E6F22FAC7BC00A42A92; + productRefGroup = FB1E5E7922FAC7BC00A42A92 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FB1E5E7722FAC7BC00A42A92 /* EhautX */, + FB1E5E8B22FAC7BD00A42A92 /* EhautXTests */, + FB1E5E9622FAC7BD00A42A92 /* EhautXUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + FB1E5E7622FAC7BC00A42A92 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1E5E8622FAC7BC00A42A92 /* LaunchScreen.storyboard in Resources */, + FB1E5E8322FAC7BC00A42A92 /* Assets.xcassets in Resources */, + FB1E5E8122FAC7BC00A42A92 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1E5E8A22FAC7BD00A42A92 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1E5E9522FAC7BD00A42A92 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + FB1E5EB822FAD4A500A42A92 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "$(SRCROOT)/input.xcfilelist", + ); + inputPaths = ( + ); + outputFileListPaths = ( + "$(SRCROOT)/output.xcfilelist", + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/usr/local/bin/carthage copy-frameworks\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FB1E5E7422FAC7BC00A42A92 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1E5E7E22FAC7BC00A42A92 /* ViewController.swift in Sources */, + FB1E5E7C22FAC7BC00A42A92 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1E5E8822FAC7BD00A42A92 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1E5E9122FAC7BD00A42A92 /* EhautXTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB1E5E9322FAC7BD00A42A92 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB1E5E9C22FAC7BD00A42A92 /* EhautXUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + FB1E5E8E22FAC7BD00A42A92 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = FB1E5E7722FAC7BC00A42A92 /* EhautX */; + targetProxy = FB1E5E8D22FAC7BD00A42A92 /* PBXContainerItemProxy */; + }; + FB1E5E9922FAC7BD00A42A92 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = FB1E5E7722FAC7BC00A42A92 /* EhautX */; + targetProxy = FB1E5E9822FAC7BD00A42A92 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + FB1E5E7F22FAC7BC00A42A92 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + FB1E5E8022FAC7BC00A42A92 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + FB1E5E8422FAC7BC00A42A92 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + FB1E5E8522FAC7BC00A42A92 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + FB1E5E9E22FAC7BD00A42A92 /* 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_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; + CODE_SIGN_IDENTITY = "iPhone Developer"; + 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 = 10.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + FB1E5E9F22FAC7BD00A42A92 /* 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_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; + CODE_SIGN_IDENTITY = "iPhone Developer"; + 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 = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + FB1E5EA122FAC7BD00A42A92 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = GC96FM2SBJ; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = EhautX/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX.iOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + FB1E5EA222FAC7BD00A42A92 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = GC96FM2SBJ; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = EhautX/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX.iOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + FB1E5EA422FAC7BD00A42A92 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EhautX.app/EhautX"; + }; + name = Debug; + }; + FB1E5EA522FAC7BD00A42A92 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EhautX.app/EhautX"; + }; + name = Release; + }; + FB1E5EA722FAC7BD00A42A92 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = EhautX; + }; + name = Debug; + }; + FB1E5EA822FAC7BD00A42A92 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = GC96FM2SBJ; + INFOPLIST_FILE = EhautXUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautXUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = EhautX; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + FB1E5E7322FAC7BC00A42A92 /* Build configuration list for PBXProject "EhautX.iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1E5E9E22FAC7BD00A42A92 /* Debug */, + FB1E5E9F22FAC7BD00A42A92 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB1E5EA022FAC7BD00A42A92 /* Build configuration list for PBXNativeTarget "EhautX" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1E5EA122FAC7BD00A42A92 /* Debug */, + FB1E5EA222FAC7BD00A42A92 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB1E5EA322FAC7BD00A42A92 /* Build configuration list for PBXNativeTarget "EhautXTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1E5EA422FAC7BD00A42A92 /* Debug */, + FB1E5EA522FAC7BD00A42A92 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB1E5EA622FAC7BD00A42A92 /* Build configuration list for PBXNativeTarget "EhautXUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB1E5EA722FAC7BD00A42A92 /* Debug */, + FB1E5EA822FAC7BD00A42A92 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = FB1E5E7022FAC7BC00A42A92 /* Project object */; +} diff --git a/EhautX.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/EhautX.iOS/EhautX.iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from EhautX.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to EhautX.iOS/EhautX.iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/EhautX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/EhautX.iOS/EhautX.iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from EhautX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to EhautX.iOS/EhautX.iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/EhautX.iOS/EhautX/AppDelegate.swift b/EhautX.iOS/EhautX/AppDelegate.swift new file mode 100644 index 0000000..d4154f2 --- /dev/null +++ b/EhautX.iOS/EhautX/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// EhautX +// +// Created by EhautTeam on 2019/8/7. +// Copyright © 2019 Ehaut. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/EhautX.iOS/EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json b/EhautX.iOS/EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d8db8d6 --- /dev/null +++ b/EhautX.iOS/EhautX/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/EhautX/Assets.xcassets/Contents.json b/EhautX.iOS/EhautX/Assets.xcassets/Contents.json similarity index 100% rename from EhautX/Assets.xcassets/Contents.json rename to EhautX.iOS/EhautX/Assets.xcassets/Contents.json diff --git a/EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard b/EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..bfa3612 --- /dev/null +++ b/EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EhautX.iOS/EhautX/Base.lproj/Main.storyboard b/EhautX.iOS/EhautX/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f1bcf38 --- /dev/null +++ b/EhautX.iOS/EhautX/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EhautX.iOS/EhautX/Info.plist b/EhautX.iOS/EhautX/Info.plist new file mode 100644 index 0000000..16be3b6 --- /dev/null +++ b/EhautX.iOS/EhautX/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/EhautX.iOS/EhautX/ViewController.swift b/EhautX.iOS/EhautX/ViewController.swift new file mode 100644 index 0000000..04e32dd --- /dev/null +++ b/EhautX.iOS/EhautX/ViewController.swift @@ -0,0 +1,20 @@ +// +// ViewController.swift +// EhautX +// +// Created by EhautTeam on 2019/8/7. +// Copyright © 2019 Ehaut. All rights reserved. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} + diff --git a/EhautX.iOS/EhautXTests/EhautXTests.swift b/EhautX.iOS/EhautXTests/EhautXTests.swift new file mode 100644 index 0000000..d4bd1ec --- /dev/null +++ b/EhautX.iOS/EhautXTests/EhautXTests.swift @@ -0,0 +1,34 @@ +// +// EhautXTests.swift +// EhautXTests +// +// Created by EhautTeam on 2019/8/7. +// Copyright © 2019 Ehaut. All rights reserved. +// + +import XCTest +@testable import EhautX + +class EhautXTests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/EhautXTests/Info.plist b/EhautX.iOS/EhautXTests/Info.plist similarity index 100% rename from EhautXTests/Info.plist rename to EhautX.iOS/EhautXTests/Info.plist diff --git a/EhautX.iOS/EhautXUITests/EhautXUITests.swift b/EhautX.iOS/EhautXUITests/EhautXUITests.swift new file mode 100644 index 0000000..4e6823a --- /dev/null +++ b/EhautX.iOS/EhautXUITests/EhautXUITests.swift @@ -0,0 +1,34 @@ +// +// EhautXUITests.swift +// EhautXUITests +// +// Created by EhautTeam on 2019/8/7. +// Copyright © 2019 Ehaut. All rights reserved. +// + +import XCTest + +class EhautXUITests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. + XCUIApplication().launch() + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + +} diff --git a/EhautXUITests/Info.plist b/EhautX.iOS/EhautXUITests/Info.plist similarity index 100% rename from EhautXUITests/Info.plist rename to EhautX.iOS/EhautXUITests/Info.plist diff --git a/EhautX.iOS/input.xcfilelist b/EhautX.iOS/input.xcfilelist new file mode 100644 index 0000000..dbd22f4 --- /dev/null +++ b/EhautX.iOS/input.xcfilelist @@ -0,0 +1,4 @@ +$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework +$(SRCROOT)/Carthage/Build/iOS/IQKeyboardManagerSwift.framework +$(SRCROOT)/Carthage/Build/iOS/JGProgressHUD.framework +$(SRCROOT)/Carthage/Build/iOS/SkyFloatingLabelTextField.framework diff --git a/EhautX.iOS/output.xcfilelist b/EhautX.iOS/output.xcfilelist new file mode 100644 index 0000000..f9eeb61 --- /dev/null +++ b/EhautX.iOS/output.xcfilelist @@ -0,0 +1,4 @@ +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/IQKeyboardManagerSwift.framework +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/JGProgressHUD.framework +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SkyFloatingLabelTextField.framework diff --git a/Cartfile b/EhautX.macOS/Cartfile similarity index 100% rename from Cartfile rename to EhautX.macOS/Cartfile diff --git a/Cartfile.resolved b/EhautX.macOS/Cartfile.resolved similarity index 100% rename from Cartfile.resolved rename to EhautX.macOS/Cartfile.resolved diff --git a/EhautX.macOS/Carthage/Checkouts/Alamofire b/EhautX.macOS/Carthage/Checkouts/Alamofire new file mode 160000 index 0000000..75bba56 --- /dev/null +++ b/EhautX.macOS/Carthage/Checkouts/Alamofire @@ -0,0 +1 @@ +Subproject commit 75bba56748359f297a83f620d45f72cf4ebee4e7 diff --git a/Carthage/Checkouts/Preferences b/EhautX.macOS/Carthage/Checkouts/Preferences similarity index 100% rename from Carthage/Checkouts/Preferences rename to EhautX.macOS/Carthage/Checkouts/Preferences diff --git a/Carthage/Checkouts/SwiftyUserDefaults b/EhautX.macOS/Carthage/Checkouts/SwiftyUserDefaults similarity index 100% rename from Carthage/Checkouts/SwiftyUserDefaults rename to EhautX.macOS/Carthage/Checkouts/SwiftyUserDefaults diff --git a/EhautX.xcodeproj/project.pbxproj b/EhautX.macOS/EhautX.macOS.xcodeproj/project.pbxproj similarity index 99% rename from EhautX.xcodeproj/project.pbxproj rename to EhautX.macOS/EhautX.macOS.xcodeproj/project.pbxproj index a4bcc83..2800baf 100644 --- a/EhautX.xcodeproj/project.pbxproj +++ b/EhautX.macOS/EhautX.macOS.xcodeproj/project.pbxproj @@ -498,7 +498,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX; + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX.macOS; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; }; @@ -521,7 +521,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX; + PRODUCT_BUNDLE_IDENTIFIER = cn.ehaut.EhautX.macOS; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; }; diff --git a/EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..35f01f6 --- /dev/null +++ b/EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/EhautX.macOS/EhautX.macOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/EhautX/AppDelegate.swift b/EhautX.macOS/EhautX/AppDelegate.swift similarity index 100% rename from EhautX/AppDelegate.swift rename to EhautX.macOS/EhautX/AppDelegate.swift diff --git a/EhautX.macOS/EhautX/Assets.xcassets/Contents.json b/EhautX.macOS/EhautX/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/EhautX.macOS/EhautX/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/EhautX/Assets.xcassets/EhautX.appiconset/Contents.json b/EhautX.macOS/EhautX/Assets.xcassets/EhautX.appiconset/Contents.json similarity index 100% rename from EhautX/Assets.xcassets/EhautX.appiconset/Contents.json rename to EhautX.macOS/EhautX/Assets.xcassets/EhautX.appiconset/Contents.json diff --git a/EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json b/EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json similarity index 100% rename from EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/Contents.json diff --git a/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png b/EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png similarity index 100% rename from EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@2x.png diff --git a/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png b/EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png similarity index 100% rename from EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@3x.png diff --git a/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@dark@2x.png b/EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@dark@2x.png similarity index 100% rename from EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@dark@2x.png rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkConnect.imageset/NetworkConnect@dark@2x.png diff --git a/EhautX/Assets.xcassets/NetworkDisconnect.imageset/Contents.json b/EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/Contents.json similarity index 100% rename from EhautX/Assets.xcassets/NetworkDisconnect.imageset/Contents.json rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/Contents.json diff --git a/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@2x.png b/EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@2x.png similarity index 100% rename from EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@2x.png rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@2x.png diff --git a/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@3x.png b/EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@3x.png similarity index 100% rename from EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@3x.png rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@3x.png diff --git a/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png b/EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png similarity index 100% rename from EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png rename to EhautX.macOS/EhautX/Assets.xcassets/NetworkDisconnect.imageset/NetworkDisconnect@dark@2x.png diff --git a/EhautX/Base.lproj/MainMenu.xib b/EhautX.macOS/EhautX/Base.lproj/MainMenu.xib similarity index 100% rename from EhautX/Base.lproj/MainMenu.xib rename to EhautX.macOS/EhautX/Base.lproj/MainMenu.xib diff --git a/EhautX/EhautX.entitlements b/EhautX.macOS/EhautX/EhautX.entitlements similarity index 100% rename from EhautX/EhautX.entitlements rename to EhautX.macOS/EhautX/EhautX.entitlements diff --git a/EhautX/Info.plist b/EhautX.macOS/EhautX/Info.plist similarity index 100% rename from EhautX/Info.plist rename to EhautX.macOS/EhautX/Info.plist diff --git a/EhautX/Views/AdvancedPrefsViewController.swift b/EhautX.macOS/EhautX/Views/AdvancedPrefsViewController.swift similarity index 100% rename from EhautX/Views/AdvancedPrefsViewController.swift rename to EhautX.macOS/EhautX/Views/AdvancedPrefsViewController.swift diff --git a/EhautX/Views/AdvancedPrefsViewController.xib b/EhautX.macOS/EhautX/Views/AdvancedPrefsViewController.xib similarity index 100% rename from EhautX/Views/AdvancedPrefsViewController.xib rename to EhautX.macOS/EhautX/Views/AdvancedPrefsViewController.xib diff --git a/EhautX/Views/GeneralPrefsViewController.swift b/EhautX.macOS/EhautX/Views/GeneralPrefsViewController.swift similarity index 100% rename from EhautX/Views/GeneralPrefsViewController.swift rename to EhautX.macOS/EhautX/Views/GeneralPrefsViewController.swift diff --git a/EhautX/Views/GeneralPrefsViewController.xib b/EhautX.macOS/EhautX/Views/GeneralPrefsViewController.xib similarity index 100% rename from EhautX/Views/GeneralPrefsViewController.xib rename to EhautX.macOS/EhautX/Views/GeneralPrefsViewController.xib diff --git a/EhautXTests/EhautXTests.swift b/EhautX.macOS/EhautXTests/EhautXTests.swift similarity index 100% rename from EhautXTests/EhautXTests.swift rename to EhautX.macOS/EhautXTests/EhautXTests.swift diff --git a/EhautX.macOS/EhautXTests/Info.plist b/EhautX.macOS/EhautXTests/Info.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/EhautX.macOS/EhautXTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/EhautXUITests/EhautXUITests.swift b/EhautX.macOS/EhautXUITests/EhautXUITests.swift similarity index 100% rename from EhautXUITests/EhautXUITests.swift rename to EhautX.macOS/EhautXUITests/EhautXUITests.swift diff --git a/EhautX.macOS/EhautXUITests/Info.plist b/EhautX.macOS/EhautXUITests/Info.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/EhautX.macOS/EhautXUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/input.xcfilelist b/EhautX.macOS/input.xcfilelist similarity index 100% rename from input.xcfilelist rename to EhautX.macOS/input.xcfilelist diff --git a/output.xcfilelist b/EhautX.macOS/output.xcfilelist similarity index 100% rename from output.xcfilelist rename to EhautX.macOS/output.xcfilelist diff --git a/EhautX.xcworkspace/contents.xcworkspacedata b/EhautX.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1737db7 --- /dev/null +++ b/EhautX.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/EhautX.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/EhautX.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/EhautX.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + From 2fd6787650cdb1cb0c8198122e8ca2447b12e10d Mon Sep 17 00:00:00 2001 From: zengxs Date: Thu, 15 Aug 2019 22:32:35 +0800 Subject: [PATCH 3/3] Merge codes from E-HAUT --- .../EhautX.iOS.xcodeproj/project.pbxproj | 40 +++ .../EhautX/Base.lproj/LaunchScreen.storyboard | 62 ++++- EhautX.iOS/EhautX/Base.lproj/Main.storyboard | 38 ++- EhautX.iOS/EhautX/Model/AppPreferences.swift | 75 +++++ EhautX.iOS/EhautX/Service/Crypto.swift | 55 ++++ EhautX.iOS/EhautX/Service/Network.swift | 224 +++++++++++++++ EhautX.iOS/EhautX/service.html | 257 ++++++++++++++++++ README.md | 25 +- 8 files changed, 765 insertions(+), 11 deletions(-) create mode 100644 EhautX.iOS/EhautX/Model/AppPreferences.swift create mode 100644 EhautX.iOS/EhautX/Service/Crypto.swift create mode 100644 EhautX.iOS/EhautX/Service/Network.swift create mode 100644 EhautX.iOS/EhautX/service.html diff --git a/EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj b/EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj index afc782f..aec9d1b 100644 --- a/EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj +++ b/EhautX.iOS/EhautX.iOS.xcodeproj/project.pbxproj @@ -18,6 +18,10 @@ FB1E5EBF22FAD51100A42A92 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1E5EBB22FAD51100A42A92 /* Alamofire.framework */; }; FB1E5EC022FAD51100A42A92 /* IQKeyboardManagerSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1E5EBC22FAD51100A42A92 /* IQKeyboardManagerSwift.framework */; }; FB1E5EC122FAD51100A42A92 /* JGProgressHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1E5EBD22FAD51100A42A92 /* JGProgressHUD.framework */; }; + FBDA2467230594D30004F64E /* AppPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBDA2466230594D30004F64E /* AppPreferences.swift */; }; + FBDA2469230595210004F64E /* Crypto.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBDA2468230595210004F64E /* Crypto.swift */; }; + FBDA246B2305954F0004F64E /* Network.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBDA246A2305954F0004F64E /* Network.swift */; }; + FBDA246D230595D40004F64E /* service.html in Resources */ = {isa = PBXBuildFile; fileRef = FBDA246C230595D40004F64E /* service.html */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -55,6 +59,10 @@ FB1E5EBB22FAD51100A42A92 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = ""; }; FB1E5EBC22FAD51100A42A92 /* IQKeyboardManagerSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IQKeyboardManagerSwift.framework; path = Carthage/Build/iOS/IQKeyboardManagerSwift.framework; sourceTree = ""; }; FB1E5EBD22FAD51100A42A92 /* JGProgressHUD.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JGProgressHUD.framework; path = Carthage/Build/iOS/JGProgressHUD.framework; sourceTree = ""; }; + FBDA2466230594D30004F64E /* AppPreferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppPreferences.swift; sourceTree = ""; }; + FBDA2468230595210004F64E /* Crypto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Crypto.swift; sourceTree = ""; }; + FBDA246A2305954F0004F64E /* Network.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Network.swift; sourceTree = ""; }; + FBDA246C230595D40004F64E /* service.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = service.html; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -110,12 +118,16 @@ FB1E5E7A22FAC7BC00A42A92 /* EhautX */ = { isa = PBXGroup; children = ( + FBDA2465230594B00004F64E /* View */, + FBDA2464230594A90004F64E /* Service */, + FBDA2463230594A10004F64E /* Model */, FB1E5E7B22FAC7BC00A42A92 /* AppDelegate.swift */, FB1E5E7D22FAC7BC00A42A92 /* ViewController.swift */, FB1E5E7F22FAC7BC00A42A92 /* Main.storyboard */, FB1E5E8222FAC7BC00A42A92 /* Assets.xcassets */, FB1E5E8422FAC7BC00A42A92 /* LaunchScreen.storyboard */, FB1E5E8722FAC7BC00A42A92 /* Info.plist */, + FBDA246C230595D40004F64E /* service.html */, ); path = EhautX; sourceTree = ""; @@ -149,6 +161,30 @@ name = Frameworks; sourceTree = ""; }; + FBDA2463230594A10004F64E /* Model */ = { + isa = PBXGroup; + children = ( + FBDA2466230594D30004F64E /* AppPreferences.swift */, + ); + path = Model; + sourceTree = ""; + }; + FBDA2464230594A90004F64E /* Service */ = { + isa = PBXGroup; + children = ( + FBDA2468230595210004F64E /* Crypto.swift */, + FBDA246A2305954F0004F64E /* Network.swift */, + ); + path = Service; + sourceTree = ""; + }; + FBDA2465230594B00004F64E /* View */ = { + isa = PBXGroup; + children = ( + ); + path = View; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -254,6 +290,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + FBDA246D230595D40004F64E /* service.html in Resources */, FB1E5E8622FAC7BC00A42A92 /* LaunchScreen.storyboard in Resources */, FB1E5E8322FAC7BC00A42A92 /* Assets.xcassets in Resources */, FB1E5E8122FAC7BC00A42A92 /* Main.storyboard in Resources */, @@ -303,6 +340,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + FBDA246B2305954F0004F64E /* Network.swift in Sources */, + FBDA2469230595210004F64E /* Crypto.swift in Sources */, + FBDA2467230594D30004F64E /* AppPreferences.swift in Sources */, FB1E5E7E22FAC7BC00A42A92 /* ViewController.swift in Sources */, FB1E5E7C22FAC7BC00A42A92 /* AppDelegate.swift in Sources */, ); diff --git a/EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard b/EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard index bfa3612..3e92031 100644 --- a/EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard +++ b/EhautX.iOS/EhautX/Base.lproj/LaunchScreen.storyboard @@ -1,7 +1,11 @@ - - + + + + + - + + @@ -13,13 +17,61 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/EhautX.iOS/EhautX/Base.lproj/Main.storyboard b/EhautX.iOS/EhautX/Base.lproj/Main.storyboard index f1bcf38..f377b7e 100644 --- a/EhautX.iOS/EhautX/Base.lproj/Main.storyboard +++ b/EhautX.iOS/EhautX/Base.lproj/Main.storyboard @@ -1,7 +1,11 @@ - + + + + - + + @@ -9,16 +13,40 @@ - + - + - + + + + + + + + + + + + + + + diff --git a/EhautX.iOS/EhautX/Model/AppPreferences.swift b/EhautX.iOS/EhautX/Model/AppPreferences.swift new file mode 100644 index 0000000..0dccf8c --- /dev/null +++ b/EhautX.iOS/EhautX/Model/AppPreferences.swift @@ -0,0 +1,75 @@ +// +// AppPreferences.swift +// EhautTeam +// +// Created by zh on 2019/5/26. +// Copyright © 2019 ehaut. All rights reserved. +// + +import Alamofire +import Foundation + +struct OnlineInfo { + static var networkIsConnect: Bool = false + static var isOnline: Bool = false + static var onlineIp: String = "" + static var onlineUsername: String = "" + static var usedData: String = "" + static var usedTime: Int = 0 + static var serverTime: Int = 0 + static var loginTime: Int = 0 +} + +struct ServerInfo { + // 服务器地址示范http://172.16.154.130,请不要忘了http://头以及没有最后/符号 + static var authServerAddr: String = "http://172.16.154.130" + static var authServerPort: String = "69" + static var serviceServerAddr: String = "http://172.16.154.130" + static var serviceServerPort: String = "8800" + static var macAddr: String = "" + static var acid: String = "1" + static var type: String = "3" + static var drop: String = "0" + static var pop: String = "1" + static var key: String = "1234567890" +} + +struct TestServerInfo { + // fake cgi server + static var testServerAddr: String = "https://cgi.ehaut.cn" + static var testModeAddr: String = "https://cgi.ehaut.cn/testmode" + // static var environmentalFile:String = "https://cgi.ehaut.cn/env.json" + // 不要编辑以下部分 + static var testServerStatus: Int = -1 + static var authServerStatus: Int = -1 + static var isTestModeOn = true + static var isCgiBroken = false + static var isNetworkConnect = false +} + +struct networkSet { + static let Manager: Alamofire.SessionManager = { + let configuration = URLSessionConfiguration.default + configuration.timeoutIntervalForRequest = 10 // 超时设置 + return Alamofire.SessionManager(configuration: configuration) + }() + + static var testServerAddr: String = TestServerInfo.testServerAddr + // static let testNetworkManger = Alamofire.NetworkReachabilityManager(host: testServerAddr) + static var authServerAddr: String = ServerInfo.authServerAddr + // static let authNetworkManger = Alamofire.NetworkReachabilityManager(host: authServerAddr) +} + +struct UserInfo { + static var username: String = "" + static var password: String = "" +} + +struct postResult { + static var networkIsConnect: Bool = false + static var result: String = "" + static var isLoginOK: Bool = false + static var isLogoutOK: Bool = false + static var isAcidError: Bool = false + static var isNotOnline: Bool = false +} diff --git a/EhautX.iOS/EhautX/Service/Crypto.swift b/EhautX.iOS/EhautX/Service/Crypto.swift new file mode 100644 index 0000000..0331a6b --- /dev/null +++ b/EhautX.iOS/EhautX/Service/Crypto.swift @@ -0,0 +1,55 @@ +// +// Crypto.swift +// EhautTeam +// +// Created by zh on 2019/5/26. +// Copyright © 2019 ehaut. All rights reserved. +// + +import Foundation + +class Crypto { + static func usernameEncrypt(username: String) -> String { + var user: String = "{SRUN3}\r\n" + + for each in username { + let e = each.asciiValue + 4 + user += e.asciiToString + } + + return user + } + + static func passwordEncrypt(password: String, passwordKey: String) -> String { + var passwd: String = "" + let passwordKeyLength = passwordKey.count + let key = Array(passwordKey) + var i = 0 + for each in password { + let ki: Int = each.asciiValue ^ key[passwordKeyLength - i % passwordKeyLength - 1].asciiValue + let _l: Int = Int((ki & 0x0F) + 0x36) + let _h: Int = Int((ki >> 4 & 0x0F) + 0x63) + if i % 2 == 0 { + passwd += _l.asciiToString + _h.asciiToString + } else { + passwd += _h.asciiToString + _l.asciiToString + } + i += 1 + } + + return passwd + } +} + +extension Character { + var asciiValue: Int { + let s = String(self).unicodeScalars + return Int(s[s.startIndex].value) + } +} + +extension Int { + var asciiToString: String { + return String(UnicodeScalar(UInt8(self))) + } +} diff --git a/EhautX.iOS/EhautX/Service/Network.swift b/EhautX.iOS/EhautX/Service/Network.swift new file mode 100644 index 0000000..a90495a --- /dev/null +++ b/EhautX.iOS/EhautX/Service/Network.swift @@ -0,0 +1,224 @@ +// +// Network.swift +// EhautTeam +// +// Created by zh on 2019/5/26. +// Copyright © 2019 ehaut. All rights reserved. +// + +import Alamofire +import Foundation + +class Network { + static func getUserStatus(method: @escaping () -> Void) { + // var networkIsConnect = false + var serverAddress: String = "" + var url: String = "" + if TestServerInfo.isTestModeOn == false { + serverAddress = ServerInfo.authServerAddr // + ":" + ServerInfo.authServerPort + url = serverAddress + "/cgi-bin/rad_user_info" + } else { + serverAddress = TestServerInfo.testServerAddr + url = serverAddress + "/cgi-bin/rad_user_info" + } + let queue = DispatchQueue(label: "cn.ehut.response-queue", qos: .default, attributes: [.concurrent]) + networkSet.Manager.request(url).responseString( + queue: queue, + completionHandler: { response in + switch response.result { + case let .success(get): + print(get) + OnlineInfo.networkIsConnect = true + if get.contains("502 Bad Gateway") { + print("cgi is broken") + TestServerInfo.isCgiBroken = true + } else if get.contains("not_online") || get.contains("not_online_error") { + TestServerInfo.isCgiBroken = false + OnlineInfo.isOnline = false + } else { + TestServerInfo.isCgiBroken = false + OnlineInfo.isOnline = true + let list = get.components(separatedBy: ",") + OnlineInfo.loginTime = Int(list[1])! + OnlineInfo.onlineIp = list[8] + OnlineInfo.onlineUsername = list[0] + let d = Double(list[6])! + if d > (1024 * 1024) { + let data: Double = d / (1024 * 1024) + OnlineInfo.usedData = data.format(".4") + " MB" + } else if d > 1024 { + let data: Double = d / 1024 + OnlineInfo.usedData = data.format(".4") + " KB" + } else { + OnlineInfo.usedData = String(d) + " B" + } + OnlineInfo.serverTime = Int(list[2])! + let t = Int(list[7])! + OnlineInfo.usedTime = (t + OnlineInfo.serverTime - OnlineInfo.loginTime) + } + case let .failure(error): + OnlineInfo.networkIsConnect = false + print(error) + } + DispatchQueue.main.async { + method() + } + } + ) + } + + static func getTestMode(method: @escaping () -> Void) { + let url = TestServerInfo.testModeAddr + let queue = DispatchQueue(label: "cn.ehut.response-queue", qos: .default, attributes: [.concurrent]) + networkSet.Manager.request(url).responseString( + queue: queue, + completionHandler: { response in + switch response.result { + case let .success(get): + print(get) + TestServerInfo.isNetworkConnect = true + OnlineInfo.networkIsConnect = true + if get.contains("off") || get.contains("502 Bad Gateway") { + print("测试模式关闭") + TestServerInfo.isTestModeOn = false + } else { + print("测试模式开启") + TestServerInfo.isTestModeOn = true + } + case let .failure(error): + TestServerInfo.isNetworkConnect = false + TestServerInfo.isTestModeOn = false + print(error) + } + DispatchQueue.main.async { + method() + } + } + ) + } + + static func login(method: @escaping () -> Void) { + var serverAddress: String = "" + var url: String = "" + if TestServerInfo.isTestModeOn == false { + serverAddress = ServerInfo.authServerAddr // + ":" + ServerInfo.authServerPort + url = serverAddress + "/cgi-bin/srun_portal" + } else { + serverAddress = TestServerInfo.testServerAddr + url = serverAddress + "/cgi-bin/srun_portal" + } + let queue = DispatchQueue(label: "cn.ehut.response-queue", qos: .default, attributes: [.concurrent]) + var username: String = "" + if TestServerInfo.isTestModeOn == true { + username = UserInfo.username + } else { + username = Crypto.usernameEncrypt(username: UserInfo.username) + } + let parameters: Parameters = [ + "action": "login", + "username": username, + "password": Crypto.passwordEncrypt(password: UserInfo.password, passwordKey: ServerInfo.key), + "mac": ServerInfo.macAddr, + "ac_id": ServerInfo.acid, + "type": ServerInfo.type, + "n": "117", + "pop": ServerInfo.pop, + "drop": ServerInfo.drop, + "mbytes": "0", + "minutes": "0", + ] + print("url", url) + networkSet.Manager.request(url, method: .post, parameters: parameters, encoding: URLEncoding.queryString).responseString( + queue: queue, + completionHandler: { response in + switch response.result { + case let .success(get): + print(get) + postResult.result = get + postResult.networkIsConnect = true + if get.contains("502 Bad Gateway") { + print("cgi is broken") + TestServerInfo.isCgiBroken = true + } else if get.contains("login_ok") { + TestServerInfo.isCgiBroken = false + postResult.isLoginOK = true + } else { + TestServerInfo.isCgiBroken = false + postResult.isLoginOK = false + if get.contains("login_error#INFO failed, BAS respond timeout.") { + postResult.isAcidError = true + } + } + case let .failure(error): + postResult.networkIsConnect = false + print(error) + } + DispatchQueue.main.async { + method() + } + } + ) + } + + static func logout(method: @escaping () -> Void) { + var serverAddress: String = "" + var url: String = "" + if TestServerInfo.isTestModeOn == false { + serverAddress = ServerInfo.authServerAddr // + ":" + ServerInfo.authServerPort + url = serverAddress + "/cgi-bin/srun_portal" + } else { + serverAddress = TestServerInfo.testServerAddr + url = serverAddress + "/cgi-bin/srun_portal" + } + let queue = DispatchQueue(label: "cn.ehut.response-queue", qos: .default, attributes: [.concurrent]) + let parameters: Parameters = [ + "action": "logout", + "username": Crypto.usernameEncrypt(username: OnlineInfo.onlineUsername), + "mac": ServerInfo.macAddr, + "ac_id": ServerInfo.acid, + "type": ServerInfo.type, + "n": "117", + "pop": ServerInfo.pop, + "drop": ServerInfo.drop, + "mbytes": "0", + "minutes": "0", + ] + networkSet.Manager.request(url, method: .post, parameters: parameters, encoding: URLEncoding.queryString).responseString( + queue: queue, + completionHandler: { response in + switch response.result { + case let .success(get): + print(get) + postResult.result = get + postResult.networkIsConnect = true + if get.contains("502 Bad Gateway") { + print("cgi is broken") + TestServerInfo.isCgiBroken = true + } else if get.contains("logout_ok") { + TestServerInfo.isCgiBroken = false + postResult.isLogoutOK = true + } else { + TestServerInfo.isCgiBroken = false + postResult.isLogoutOK = false + if get.contains("You are not online.") { + postResult.isNotOnline = true + } + } + case let .failure(error): + postResult.networkIsConnect = false + print(error) + } + DispatchQueue.main.async { + method() + } + } + ) + } +} + +extension Double { + // 取小数点后几位 + public func format(_ f: String) -> String { + return String(format: "%\(f)f", self) + } +} diff --git a/EhautX.iOS/EhautX/service.html b/EhautX.iOS/EhautX/service.html new file mode 100644 index 0000000..b8fedb6 --- /dev/null +++ b/EhautX.iOS/EhautX/service.html @@ -0,0 +1,257 @@ + + + + + + + + + + 移动端校园网客户端自服务系统 + + + + + + + + + +

+

© Powered By E-HAUT Team

+ + + + + diff --git a/README.md b/README.md index 6088d47..1eb6cce 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,30 @@ A easy client for haut campus network. ## Screenshot -![screenshot1](https://i.imgur.com/C49BUtI.png) + +## Developing +### Install Carthage +```sh +brew install carthage +``` + +### Checkout dependencies +```sh +git submodule update --init --recursive +``` + +### Build dependencies +#### For iOS +```sh +cd EhautX.iOS +carthage build --platform iOS +``` + +#### For macOS +```sh +cd EhautX.macOS +carthage build --platform macOS +``` ## Contributing PR are welcome.