Prechádzať zdrojové kódy

1.添加相簿选择

wenweiwei 3 rokov pred
rodič
commit
e3f16ecd16

+ 79 - 3
.gitignore

@@ -1,3 +1,79 @@
-Pods
-Introduce.xcworkspace/xcuserdata
-Introduce.xcodeproj/xcshareddata
+# Miscellaneous
+*.class
+*.log
+*.pyc
+*.swp
+.DS_Store
+.atom/
+.buildlog/
+.history
+.svn/
+# 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/
+Podfile.lock
+
+# Carthage
+#
+# Add this line if you want to avoid checking in source code from Carthage dependencies.
+# Carthage/Checkouts
+
+Carthage/Build
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/#source-control
+
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots/**/*.png
+fastlane/test_output

+ 65 - 0
.swiftformat

@@ -0,0 +1,65 @@
+--allman false
+--assetliterals visual-width
+--beforemarks 
+--binarygrouping none
+--categorymark "MARK: %c"
+--classthreshold 0
+--closingparen balanced
+--commas always
+--conflictmarkers reject
+--decimalgrouping none
+--elseposition same-line
+--enumthreshold 0
+--exponentcase lowercase
+--exponentgrouping disabled
+--extensionacl on-extension
+--extensionlength 0
+--extensionmark "MARK: - %t + %c"
+--fractiongrouping disabled
+--fragment false
+--funcattributes preserve
+--groupedextension "MARK: %c"
+--guardelse auto
+--header ignore
+--hexgrouping 4,8
+--hexliteralcase uppercase
+--ifdef indent
+--importgrouping alphabetized
+--indent 4
+--indentcase false
+--lifecycle 
+--linebreaks lf
+--markextensions always
+--marktypes always
+--maxwidth none
+--modifierorder 
+--nevertrailing 
+--nospaceoperators ...,..<
+--nowrapoperators 
+--octalgrouping none
+--operatorfunc spaced
+--organizetypes class,enum,struct
+--patternlet hoist
+--ranges spaced
+--redundanttype inferred
+--self remove
+--selfrequired 
+--semicolons inline
+--shortoptionals always
+--smarttabs enabled
+--stripunusedargs closure-only
+--structthreshold 0
+--tabwidth unspecified
+--trailingclosures 
+--trimwhitespace always
+--typeattributes preserve
+--typemark "MARK: - %t"
+--varattributes preserve
+--voidtype void
+--wraparguments preserve
+--wrapcollections preserve
+--wrapconditions preserve
+--wrapparameters preserve
+--wrapreturntype preserve
+--xcodeindentation disabled
+--yodaswap always

+ 15 - 1
Introduce/Aarchitecture/AppDelegate.swift

@@ -6,6 +6,8 @@
 //
 
 import UIKit
+import BFCommonKit
+import BFMaterialKit
 
 @main
 class AppDelegate: UIResponder, UIApplicationDelegate {
@@ -13,7 +15,19 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
     
     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
         // Override point for customization after application launch.
-        
+        BFConfig.shared.styleColor = .nomal
+        BFConfig.shared.statusBarStyle = .light
+        BFConfig.shared.styleBackGroundColor = UIColor.black
+        BFConfig.shared.styleTitleColor = UIColor.white
+        BFConfig.shared.cutViewStyleColor = UIColor.white
+        BFConfig.shared.cutViewTintColor = UIColor.black
+        BFConfig.shared.pointEditNamalBackgroundColor = UIColor.hexColor(hexadecimal: "#1A1A1A")
+        BFMaterialConfig.shared.materialDeleteImage =  UIImage.moduleImage(named: "icon_search_delete", moduleName: "BFMaterialKit") ?? UIImage.init()
+        BFConfig.shared.cutDurationColor = UIColor(red: 238.0 / 255.0, green: 0 / 255.0, blue: 81.0 / 255.0, alpha: 0.1)
+        BFConfig.shared.hiddenMusicMask = false
+        BFConfig.shared.otherTintColor = UIColor.hexColor(hexadecimal: "#333333")
+        BFConfig.shared.statusBarStyle = .light
+        BFMaterialConfig.shared.choseType = .single
         return true
     }
 

+ 68 - 2
Introduce/Record/INPhotoVideosController.swift

@@ -14,11 +14,43 @@ import Photos
 
 class INPhotoVideosController: BFBaseViewController {
     var chosedAsset:PHAsset?
+    lazy var albumController: BFPhotoAlbumController = {
+        let albumController = BFPhotoAlbumController()
+        albumController.mediaType = .video
+        albumController.isTopShow = true
+        albumController.categoryH = cDefaultMargin * 40
+        addChild(albumController)
+        view.insertSubview(albumController.view, belowSubview: navHeadImageView!)
+        albumController.updateViewFrame(frame: CGRect(x: 0, y: navHeadImageView?.frame.maxY ?? cDevice_iPhoneNavBarAndStatusBarHei, width: view.frame.width, height: view.frame.height - (navHeadImageView?.frame.maxY ?? cDevice_iPhoneNavBarAndStatusBarHei)))
+        albumController.selectedHandle = { [weak self] seletedData in
+            if seletedData != nil {
+                self?.albumSelectedHandle(seletedData: seletedData)
+            } else {
+                self?.changeCollecBtn.isSelected = false
+            }
+        }
+        return albumController
+    }()
+    
+    lazy var changeCollecBtn: UIButton = {
+        let changeCollecBtn = UIButton(frame: CGRect(x: cDefaultMargin * 5, y: cDevice_iPhoneStatusBarHei, width: cScreenWidth - cDefaultMargin * 10, height: cDefaultMargin * 4))
+        changeCollecBtn.titleLabel?.lineBreakMode = .byTruncatingTail
+        changeCollecBtn.tintColor = BFConfig.shared.styleTitleColor
+        changeCollecBtn.setTitle("我的相册", for: .normal)
+        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_down", moduleName: "BFFramework",isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .normal)
+        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_up", moduleName: "BFFramework",isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .selected)
+        changeCollecBtn.setTitleColor(BFConfig.shared.styleTitleColor, for: .normal)
+        changeCollecBtn.titleLabel?.font = UIFont.systemFont(ofSize: 18, weight: .medium)
+        changeCollecBtn.tag = 1
+        changeCollecBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.right, space: cDefaultMargin / 2)
+        changeCollecBtn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside)
+        return changeCollecBtn
+    }()
     
     lazy var photoMaterialVc: BFPhotosMaterialController = {
         let vc = BFPhotosMaterialController()
-        vc.view.frame = CGRect(x: 0, y: cDevice_iPhoneNavBarAndStatusBarHei, width: cScreenWidth, height: cScreenHeigth - cDevice_iPhoneNavBarAndStatusBarHei - cDevice_iPhoneTabBarHei)
         vc.view.backgroundColor = .black
+        vc.updateFrame(newFrame: CGRect(x: 0, y: cDevice_iPhoneNavBarAndStatusBarHei, width: cScreenWidth, height: cScreenHeigth - cDevice_iPhoneNavBarAndStatusBarHei - cDevice_iPhoneTabBarHei))
         vc.selectedMaterialHandle = { [weak self] currentMaterialData, selectedPhotoData, _, _ in
             if currentMaterialData?.isSelected ?? false{
                 self?.chosedAsset = currentMaterialData
@@ -33,6 +65,7 @@ class INPhotoVideosController: BFBaseViewController {
         return vc
     }()
     
+    
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         showNavigation()
@@ -45,7 +78,7 @@ class INPhotoVideosController: BFBaseViewController {
 
         leftButton(image: nil, imageName: nil, tintColor: .white)
         navHeadImageView?.backgroundColor = .black
-        
+        navHeadImageView?.addSubview(changeCollecBtn)
         addChild(photoMaterialVc)
         view.addSubview(photoMaterialVc.view)
         
@@ -63,6 +96,35 @@ class INPhotoVideosController: BFBaseViewController {
         
     }
     
+    /// 按钮点击事件
+    /// - Parameter sender: <#sender description#>
+    /// - Returns: <#description#>
+    @objc func btnClick(sender: UIButton?) {
+        switch sender?.tag {
+        case 1: // 选择图库
+            sender?.isSelected = !(sender?.isSelected ?? false)
+            if sender?.isSelected ?? false {
+                albumController.showCategoryView()
+            } else {
+                albumController.dismissCategoryView()
+            }
+        default:
+            break
+        }
+    }
+    
+    /// 图库选择的回调
+    /// - Parameter seletedData: <#seletedData description#>
+    /// - Returns: <#description#>
+    func albumSelectedHandle(seletedData: PHAsset?) {
+        changeCollecBtn.isSelected = false
+        if seletedData != nil {
+            changeCollecBtn.setTitle(seletedData?.title ?? "全部", for: .normal)
+            changeCollecBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.right, space: cDefaultMargin / 2)
+            photoMaterialVc.assetCollection = seletedData?.assetCollection
+        }
+    }
+    
     override func rightBtnClick(sender _: UIButton) {
         if let asset = self.chosedAsset{
             let vc = INIntrocudeController()
@@ -72,4 +134,8 @@ class INPhotoVideosController: BFBaseViewController {
             cShowHUB(superView: nil, msg: "需要选择一个视频")
         }
     }
+    
+    override open var preferredStatusBarStyle: UIStatusBarStyle {
+            return .lightContent
+    }
 }

+ 240 - 0
Podfile.lock

@@ -0,0 +1,240 @@
+PODS:
+  - Alamofire (5.4.4)
+  - AliyunOSSiOS (2.10.10)
+  - BFAliyunNlsSDK-Swift (0.1.0)
+  - BFCommonKit (1.5.1):
+    - BFCommonKit/BFBase (= 1.5.1)
+    - BFCommonKit/BFCategorys (= 1.5.1)
+    - BFCommonKit/BFConfig (= 1.5.1)
+    - BFCommonKit/BFDebug (= 1.5.1)
+    - BFCommonKit/BFEnums (= 1.5.1)
+    - BFCommonKit/BFUtility (= 1.5.1)
+  - BFCommonKit/BFBase (1.5.1):
+    - Alamofire (= 5.4.4)
+    - BFCommonKit/BFCategorys
+    - BFCommonKit/BFConfig
+    - BFCommonKit/BFUtility
+    - SnapKit (= 5.0.1)
+  - BFCommonKit/BFCategorys (1.5.1):
+    - KingfisherWebP (= 1.3.0)
+  - BFCommonKit/BFConfig (1.5.1)
+  - BFCommonKit/BFDebug (1.5.1):
+    - BFCommonKit/BFCategorys
+  - BFCommonKit/BFEnums (1.5.1)
+  - BFCommonKit/BFUtility (1.5.1):
+    - Alamofire (= 5.4.4)
+    - BFCommonKit/BFCategorys
+    - BFCommonKit/BFConfig
+    - KeychainAccess (= 4.2.2)
+    - Kingfisher (= 6.3.1)
+    - KingfisherWebP (= 1.3.0)
+    - Toast-Swift (= 5.0.1)
+  - BFFramework (1.0.9):
+    - AliyunOSSiOS (= 2.10.10)
+    - BFCommonKit
+    - BFMaterialKit
+    - BFNetRequestKit
+    - Bugly (= 2.5.90)
+    - LMJHorizontalScrollText (= 2.0.2)
+    - MJRefresh (= 3.7.2)
+    - ObjectMapper (= 4.2.0)
+    - TXLiteAVSDK_Player (= 9.3.10765)
+    - WechatOpenSDK-Swift (= 1.8.7.1)
+  - BFMaterialKit (0.1.9):
+    - BFUIKit
+  - BFNetRequestKit (1.0.0):
+    - Alamofire (= 5.4.4)
+  - BFRecordScreenKit (0.1.0):
+    - BFCommonKit
+    - BFFramework
+    - BFUIKit
+    - BFVideoEditKit
+    - GPUImage
+  - BFUIKit (0.1.1):
+    - BFCommonKit
+    - BFUIKit/Comm (= 0.1.1)
+    - BFUIKit/Controller (= 0.1.1)
+    - BFUIKit/View (= 0.1.1)
+    - FDFullscreenPopGesture (= 1.1)
+    - Kingfisher (~> 6.0)
+    - MGSwipeTableCell (~> 1.0)
+    - MJRefresh (~> 3.0)
+    - RealmSwift (= 10.7.6)
+    - SnapKit (~> 5.0)
+    - SVProgressHUD (~> 2.0)
+  - BFUIKit/Comm (0.1.1):
+    - BFCommonKit
+    - FDFullscreenPopGesture (= 1.1)
+    - Kingfisher (~> 6.0)
+    - MGSwipeTableCell (~> 1.0)
+    - MJRefresh (~> 3.0)
+    - RealmSwift (= 10.7.6)
+    - SnapKit (~> 5.0)
+    - SVProgressHUD (~> 2.0)
+  - BFUIKit/Controller (0.1.1):
+    - BFCommonKit
+    - FDFullscreenPopGesture (= 1.1)
+    - Kingfisher (~> 6.0)
+    - MGSwipeTableCell (~> 1.0)
+    - MJRefresh (~> 3.0)
+    - RealmSwift (= 10.7.6)
+    - SnapKit (~> 5.0)
+    - SVProgressHUD (~> 2.0)
+  - BFUIKit/View (0.1.1):
+    - BFCommonKit
+    - FDFullscreenPopGesture (= 1.1)
+    - Kingfisher (~> 6.0)
+    - MGSwipeTableCell (~> 1.0)
+    - MJRefresh (~> 3.0)
+    - RealmSwift (= 10.7.6)
+    - SnapKit (~> 5.0)
+    - SVProgressHUD (~> 2.0)
+  - BFVideoEditKit (0.1.0):
+    - BFAliyunNlsSDK-Swift
+    - BFCommonKit
+    - BFFramework
+    - BFMaterialKit
+    - BFNetRequestKit
+    - BFUIKit
+  - Bugly (2.5.90)
+  - FDFullscreenPopGesture (1.1)
+  - GPUImage (0.1.7)
+  - KeychainAccess (4.2.2)
+  - Kingfisher (6.3.1)
+  - KingfisherWebP (1.3.0):
+    - Kingfisher (~> 6.2)
+    - libwebp (>= 1.1.0)
+  - libwebp (1.2.1):
+    - libwebp/demux (= 1.2.1)
+    - libwebp/mux (= 1.2.1)
+    - libwebp/webp (= 1.2.1)
+  - libwebp/demux (1.2.1):
+    - libwebp/webp
+  - libwebp/mux (1.2.1):
+    - libwebp/demux
+  - libwebp/webp (1.2.1)
+  - LMJHorizontalScrollText (2.0.2)
+  - MGSwipeTableCell (1.6.11)
+  - MJRefresh (3.7.2)
+  - ObjectMapper (4.2.0)
+  - Realm (10.7.6):
+    - Realm/Headers (= 10.7.6)
+  - Realm/Headers (10.7.6)
+  - RealmSwift (10.7.6):
+    - Realm (= 10.7.6)
+  - SnapKit (5.0.1)
+  - SVProgressHUD (2.2.5)
+  - Toast-Swift (5.0.1)
+  - TXLiteAVSDK_Player (9.3.10765)
+  - WechatOpenSDK-Swift (1.8.7.1)
+
+DEPENDENCIES:
+  - BFAliyunNlsSDK-Swift (from `https://git.yishihui.com/iOS/BFAliyunNlsSDK-Swift.git`)
+  - BFCommonKit (from `https://git.yishihui.com/iOS/BFCommonKit.git`)
+  - BFFramework (from `https://git.yishihui.com/iOS/BFFramework.git`)
+  - BFMaterialKit (from `https://git.yishihui.com/iOS/BFMaterialKit.git`)
+  - BFNetRequestKit (from `https://git.yishihui.com/iOS/BFNetRequestKit.git`)
+  - BFRecordScreenKit (from `https://git.yishihui.com/iOS/BFRecordScreenKit.git`)
+  - BFUIKit (from `https://git.yishihui.com/iOS/BFUIKit.git`)
+  - BFVideoEditKit (from `https://git.yishihui.com/iOS/BFVideoEditKit.git`)
+
+SPEC REPOS:
+  https://github.com/CocoaPods/Specs.git:
+    - Alamofire
+    - AliyunOSSiOS
+    - Bugly
+    - FDFullscreenPopGesture
+    - GPUImage
+    - KeychainAccess
+    - Kingfisher
+    - KingfisherWebP
+    - libwebp
+    - LMJHorizontalScrollText
+    - MGSwipeTableCell
+    - MJRefresh
+    - ObjectMapper
+    - Realm
+    - RealmSwift
+    - SnapKit
+    - SVProgressHUD
+    - Toast-Swift
+    - TXLiteAVSDK_Player
+    - WechatOpenSDK-Swift
+
+EXTERNAL SOURCES:
+  BFAliyunNlsSDK-Swift:
+    :git: https://git.yishihui.com/iOS/BFAliyunNlsSDK-Swift.git
+  BFCommonKit:
+    :git: https://git.yishihui.com/iOS/BFCommonKit.git
+  BFFramework:
+    :git: https://git.yishihui.com/iOS/BFFramework.git
+  BFMaterialKit:
+    :git: https://git.yishihui.com/iOS/BFMaterialKit.git
+  BFNetRequestKit:
+    :git: https://git.yishihui.com/iOS/BFNetRequestKit.git
+  BFRecordScreenKit:
+    :git: https://git.yishihui.com/iOS/BFRecordScreenKit.git
+  BFUIKit:
+    :git: https://git.yishihui.com/iOS/BFUIKit.git
+  BFVideoEditKit:
+    :git: https://git.yishihui.com/iOS/BFVideoEditKit.git
+
+CHECKOUT OPTIONS:
+  BFAliyunNlsSDK-Swift:
+    :commit: 5d4b25b98f5294bc1dae7a5c75542b85cabf59de
+    :git: https://git.yishihui.com/iOS/BFAliyunNlsSDK-Swift.git
+  BFCommonKit:
+    :commit: 451c30abb77b1e4d1ac5e9402a780e528fd18c26
+    :git: https://git.yishihui.com/iOS/BFCommonKit.git
+  BFFramework:
+    :commit: 02a2d2b6270531623851dded86cd62c38cb5baa3
+    :git: https://git.yishihui.com/iOS/BFFramework.git
+  BFMaterialKit:
+    :commit: de2858c72874b04cc2090e690131331fa21c03a8
+    :git: https://git.yishihui.com/iOS/BFMaterialKit.git
+  BFNetRequestKit:
+    :commit: 5d98c4f78849413c21e8cb7117a3b4cc243b4224
+    :git: https://git.yishihui.com/iOS/BFNetRequestKit.git
+  BFRecordScreenKit:
+    :commit: 0cef9df1962792714458ba97a25c9868563572a0
+    :git: https://git.yishihui.com/iOS/BFRecordScreenKit.git
+  BFUIKit:
+    :commit: 15b17c31208508931bbe46d90aeb177a907d634b
+    :git: https://git.yishihui.com/iOS/BFUIKit.git
+  BFVideoEditKit:
+    :commit: 1e6acf7acc57fca3f73813d93b4ee767dfc5549d
+    :git: https://git.yishihui.com/iOS/BFVideoEditKit.git
+
+SPEC CHECKSUMS:
+  Alamofire: f3b09a368f1582ab751b3fff5460276e0d2cf5c9
+  AliyunOSSiOS: b8f1dfc229cd9abf68c8ee0cb245c2d66e00dd96
+  BFAliyunNlsSDK-Swift: 44049d173720cf858729d3b011c07e0c33c90fd2
+  BFCommonKit: fbebd7d46eaa7adaf5311aae2230b68ab5e99788
+  BFFramework: 2c44a33844e1a737c4f581b5c4949a9298867e5e
+  BFMaterialKit: a10f33e7748689a3eeffff3b18df9c350241ba8d
+  BFNetRequestKit: 6b200205bd1a9491c04f5a3e95301d37a547f96b
+  BFRecordScreenKit: ebe9e2888a1a139274c807cf28171ca8112da9a4
+  BFUIKit: 982c86edec8883b3e6b60cb3ee1297eae23d9e4a
+  BFVideoEditKit: 7f86556c7604f221a591abfb3d80739be03448c3
+  Bugly: 88bc32c0acc6fef7b74d610f0319ee7560d6b9fe
+  FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0
+  GPUImage: 733a5f0fab92df9de1c37ba9df520a833ccb406d
+  KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51
+  Kingfisher: 016c8b653a35add51dd34a3aba36b580041acc74
+  KingfisherWebP: dec17a5eb1af2658791bde1f93ae9a853678f826
+  libwebp: 98a37e597e40bfdb4c911fc98f2c53d0b12d05fc
+  LMJHorizontalScrollText: ebc9b908db297f603c5b98c9b4e5f4582f5a14b8
+  MGSwipeTableCell: b804e4e450dee439c42250be90bd50458bf67fce
+  MJRefresh: 30997d30b347c8e9508a4db11e3a690da0c9b85a
+  ObjectMapper: 1eb41f610210777375fa806bf161dc39fb832b81
+  Realm: ed860452717c8db8f4bf832b6807f7f2ce708839
+  RealmSwift: e31c4ddbcc42ac879313d656b86f9ca539f6f4f4
+  SnapKit: 97b92857e3df3a0c71833cce143274bf6ef8e5eb
+  SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
+  Toast-Swift: 9b6a70f28b3bf0b96c40d46c0c4b9d6639846711
+  TXLiteAVSDK_Player: 2b60edf893a8e82165a5e4b961a6cb347b10be4a
+  WechatOpenSDK-Swift: 18a8f7b12e745c30acc013f72a9f8a25aad6e216
+
+PODFILE CHECKSUM: 72c20fcc554e8cf36bb8d9f00f2f3de12c555c04
+
+COCOAPODS: 1.11.2

+ 67 - 0
rules.swiftformat

@@ -0,0 +1,67 @@
+--allman false
+--assetliterals visual-width
+--beforemarks 
+--binarygrouping 4,8
+--categorymark "MARK: %c"
+--classthreshold 0
+--closingparen balanced
+--commas always
+--conflictmarkers reject
+--decimalgrouping 3,6
+--elseposition same-line
+--enumthreshold 0
+--exponentcase lowercase
+--exponentgrouping disabled
+--extensionacl on-extension
+--extensionlength 0
+--extensionmark "MARK: - %t + %c"
+--fractiongrouping disabled
+--fragment false
+--funcattributes preserve
+--groupedextension "MARK: %c"
+--guardelse auto
+--header ignore
+--hexgrouping 4,8
+--hexliteralcase uppercase
+--ifdef indent
+--importgrouping alphabetized
+--indent 4
+--indentcase false
+--lifecycle 
+--linebreaks lf
+--markextensions always
+--marktypes always
+--maxwidth none
+--modifierorder 
+--nevertrailing 
+--nospaceoperators 
+--nowrapoperators 
+--octalgrouping 4,8
+--operatorfunc spaced
+--organizetypes class,enum,struct
+--patternlet hoist
+--ranges spaced
+--redundanttype inferred
+--self remove
+--selfrequired 
+--semicolons inline
+--shortoptionals always
+--smarttabs enabled
+--stripunusedargs always
+--structthreshold 0
+--swiftversion 4.0
+--tabwidth unspecified
+--trailingclosures 
+--trimwhitespace always
+--typeattributes preserve
+--typemark "MARK: - %t"
+--varattributes preserve
+--voidtype void
+--wraparguments preserve
+--wrapcollections preserve
+--wrapconditions preserve
+--wrapparameters preserve
+--wrapreturntype preserve
+--xcodeindentation disabled
+--yodaswap always
+--disable initCoderUnavailable,redundantType