├── .gitignore
├── .swiftpm
└── xcode
│ └── package.xcworkspace
│ └── contents.xcworkspacedata
├── Example
├── Package.swift
├── Podfile
├── Podfile.lock
├── Pods
│ ├── IQKeyboardManagerSwift
│ │ ├── IQKeyboardManagerSwift
│ │ │ ├── Categories
│ │ │ │ ├── IQNSArray+Sort.swift
│ │ │ │ ├── IQUIScrollView+Additions.swift
│ │ │ │ ├── IQUITextFieldView+Additions.swift
│ │ │ │ ├── IQUIView+Hierarchy.swift
│ │ │ │ └── IQUIViewController+Additions.swift
│ │ │ ├── Constants
│ │ │ │ ├── IQKeyboardManagerConstants.swift
│ │ │ │ └── IQKeyboardManagerConstantsInternal.swift
│ │ │ ├── IQKeyboardManager+Debug.swift
│ │ │ ├── IQKeyboardManager+Internal.swift
│ │ │ ├── IQKeyboardManager+OrientationNotification.swift
│ │ │ ├── IQKeyboardManager+Position.swift
│ │ │ ├── IQKeyboardManager+Toolbar.swift
│ │ │ ├── IQKeyboardManager+UIKeyboardNotification.swift
│ │ │ ├── IQKeyboardManager+UITextFieldViewNotification.swift
│ │ │ ├── IQKeyboardManager.swift
│ │ │ ├── IQKeyboardReturnKeyHandler.swift
│ │ │ ├── IQTextView
│ │ │ │ └── IQTextView.swift
│ │ │ └── IQToolbar
│ │ │ │ ├── IQBarButtonItem.swift
│ │ │ │ ├── IQInvocation.swift
│ │ │ │ ├── IQPreviousNextView.swift
│ │ │ │ ├── IQTitleBarButtonItem.swift
│ │ │ │ ├── IQToolbar.swift
│ │ │ │ └── IQUIView+IQKeyboardToolbar.swift
│ │ ├── LICENSE.md
│ │ └── README.md
│ ├── KeyboardListener
│ │ ├── KeyboardListener
│ │ │ └── UIView+KeyboardListener.swift
│ │ ├── LICENSE
│ │ └── README.md
│ ├── Local Podspecs
│ │ └── SwiftShow.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ └── project.pbxproj
│ ├── SnapKit
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources
│ │ │ ├── Constraint.swift
│ │ │ ├── ConstraintAttributes.swift
│ │ │ ├── ConstraintConfig.swift
│ │ │ ├── ConstraintConstantTarget.swift
│ │ │ ├── ConstraintDSL.swift
│ │ │ ├── ConstraintDescription.swift
│ │ │ ├── ConstraintDirectionalInsetTarget.swift
│ │ │ ├── ConstraintDirectionalInsets.swift
│ │ │ ├── ConstraintInsetTarget.swift
│ │ │ ├── ConstraintInsets.swift
│ │ │ ├── ConstraintItem.swift
│ │ │ ├── ConstraintLayoutGuide+Extensions.swift
│ │ │ ├── ConstraintLayoutGuide.swift
│ │ │ ├── ConstraintLayoutGuideDSL.swift
│ │ │ ├── ConstraintLayoutSupport.swift
│ │ │ ├── ConstraintLayoutSupportDSL.swift
│ │ │ ├── ConstraintMaker.swift
│ │ │ ├── ConstraintMakerEditable.swift
│ │ │ ├── ConstraintMakerExtendable.swift
│ │ │ ├── ConstraintMakerFinalizable.swift
│ │ │ ├── ConstraintMakerPrioritizable.swift
│ │ │ ├── ConstraintMakerRelatable+Extensions.swift
│ │ │ ├── ConstraintMakerRelatable.swift
│ │ │ ├── ConstraintMultiplierTarget.swift
│ │ │ ├── ConstraintOffsetTarget.swift
│ │ │ ├── ConstraintPriority.swift
│ │ │ ├── ConstraintPriorityTarget.swift
│ │ │ ├── ConstraintRelatableTarget.swift
│ │ │ ├── ConstraintRelation.swift
│ │ │ ├── ConstraintView+Extensions.swift
│ │ │ ├── ConstraintView.swift
│ │ │ ├── ConstraintViewDSL.swift
│ │ │ ├── Debugging.swift
│ │ │ ├── LayoutConstraint.swift
│ │ │ ├── LayoutConstraintItem.swift
│ │ │ ├── Typealiases.swift
│ │ │ └── UILayoutSupport+Extensions.swift
│ ├── SwiftBrick
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources
│ │ │ └── SwiftBrick
│ │ │ ├── BaseCell
│ │ │ ├── CellProtocol.swift
│ │ │ ├── CollectionReusableView.swift
│ │ │ ├── CollectionViewCell.swift
│ │ │ ├── TableViewCell.swift
│ │ │ └── TableViewHeaderFooterView.swift
│ │ │ ├── BaseVC
│ │ │ ├── CollectionViewController.swift
│ │ │ ├── SwiftUIVC.swift
│ │ │ ├── TableViewController.swift
│ │ │ ├── UIViewControllerEx.swift
│ │ │ ├── ViewController.swift
│ │ │ └── WebViewController.swift
│ │ │ ├── Extensions
│ │ │ ├── ArrayEx.swift
│ │ │ ├── CALayerEx.swift
│ │ │ ├── DataEx.swift
│ │ │ ├── DictionaryEx.swift
│ │ │ ├── Dispatch.swift
│ │ │ ├── LayoutEx.swift
│ │ │ ├── NSObjectEx.swift
│ │ │ ├── StatusBaEx.swift
│ │ │ ├── StringEx.swift
│ │ │ ├── UIButtonEx.swift
│ │ │ ├── UIColorEx.swift
│ │ │ ├── UIGestureRecognizerEx.swift
│ │ │ ├── UIImageEx.swift
│ │ │ ├── UIImageViewEx.swift
│ │ │ ├── UINavigationBarEx.swift
│ │ │ ├── UINavigationControllerEx.swift
│ │ │ ├── UIStackViewEx.swift
│ │ │ ├── UITabBarEx.swift
│ │ │ ├── UITableViewCellEx.swift
│ │ │ ├── UITextViewEx.swift
│ │ │ ├── UIViewEx.swift
│ │ │ ├── UserDefault.swift
│ │ │ └── UserDefaultsEx.swift
│ │ │ ├── Resources
│ │ │ └── Colors.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ ├── backColor.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseBlue.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseColor.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseGray.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseGreen.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseIndigo.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseLine.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseOrange.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── basePink.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── basePurple.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseRed.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseTeal.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── baseYellow.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── bgColor.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── nav_ic_back.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── ziyuan398-2.png
│ │ │ │ ├── ziyuan398-3.png
│ │ │ │ ├── ziyuan398-4.png
│ │ │ │ └── ziyuan398.png
│ │ │ │ ├── nav_ic_close.imageset
│ │ │ │ ├── Close-2.png
│ │ │ │ ├── Close-3.png
│ │ │ │ ├── Close-5.png
│ │ │ │ ├── Close.png
│ │ │ │ └── Contents.json
│ │ │ │ ├── textDesColor.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── textLinkColor.colorset
│ │ │ │ └── Contents.json
│ │ │ │ ├── textSecColor.colorset
│ │ │ │ └── Contents.json
│ │ │ │ └── textTitleColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── Util
│ │ │ ├── AppState.swift
│ │ │ ├── Application.swift
│ │ │ ├── Define.swift
│ │ │ ├── Device.swift
│ │ │ ├── Font.swift
│ │ │ ├── Loader.swift
│ │ │ ├── SwiftBrick.swift
│ │ │ ├── TapBuzz.swift
│ │ │ ├── Then.swift
│ │ │ └── Version.swift
│ │ │ └── ViewFactory
│ │ │ ├── InsetLabel.swift
│ │ │ └── UILineView.swift
│ ├── SwiftyAttributes
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── SwiftyAttributes
│ │ │ └── Sources
│ │ │ ├── common
│ │ │ ├── Attribute+Sequence.swift
│ │ │ ├── Attribute.swift
│ │ │ ├── Ligatures.swift
│ │ │ ├── NSAttributedString+SwiftyAttributes.swift
│ │ │ ├── NSMutableAttributedString+SwiftyAttributes.swift
│ │ │ ├── NSString+SwiftyAttributes.swift
│ │ │ ├── Operators.swift
│ │ │ ├── String+SwiftyAttributes.swift
│ │ │ ├── SwiftyAttributedStringBuilder.swift
│ │ │ ├── TextEffect.swift
│ │ │ ├── VerticalGlyphForm.swift
│ │ │ └── WritingDirection.swift
│ │ │ └── iOS_tvOS
│ │ │ └── UIKit+SwiftyAttributes.swift
│ └── Target Support Files
│ │ ├── IQKeyboardManagerSwift
│ │ ├── IQKeyboardManagerSwift-Info.plist
│ │ ├── IQKeyboardManagerSwift-dummy.m
│ │ ├── IQKeyboardManagerSwift-prefix.pch
│ │ ├── IQKeyboardManagerSwift-umbrella.h
│ │ ├── IQKeyboardManagerSwift.debug.xcconfig
│ │ ├── IQKeyboardManagerSwift.modulemap
│ │ └── IQKeyboardManagerSwift.release.xcconfig
│ │ ├── KeyboardListener
│ │ ├── KeyboardListener-Info.plist
│ │ ├── KeyboardListener-dummy.m
│ │ ├── KeyboardListener-prefix.pch
│ │ ├── KeyboardListener-umbrella.h
│ │ ├── KeyboardListener.debug.xcconfig
│ │ ├── KeyboardListener.modulemap
│ │ └── KeyboardListener.release.xcconfig
│ │ ├── Pods-Example
│ │ ├── Pods-Example-Info.plist
│ │ ├── Pods-Example-acknowledgements.markdown
│ │ ├── Pods-Example-acknowledgements.plist
│ │ ├── Pods-Example-dummy.m
│ │ ├── Pods-Example-frameworks-Debug-input-files.xcfilelist
│ │ ├── Pods-Example-frameworks-Debug-output-files.xcfilelist
│ │ ├── Pods-Example-frameworks-Release-input-files.xcfilelist
│ │ ├── Pods-Example-frameworks-Release-output-files.xcfilelist
│ │ ├── Pods-Example-frameworks.sh
│ │ ├── Pods-Example-umbrella.h
│ │ ├── Pods-Example.debug.xcconfig
│ │ ├── Pods-Example.modulemap
│ │ └── Pods-Example.release.xcconfig
│ │ ├── SnapKit
│ │ ├── SnapKit-Info.plist
│ │ ├── SnapKit-dummy.m
│ │ ├── SnapKit-prefix.pch
│ │ ├── SnapKit-umbrella.h
│ │ ├── SnapKit.debug.xcconfig
│ │ ├── SnapKit.modulemap
│ │ └── SnapKit.release.xcconfig
│ │ ├── SwiftBrick
│ │ ├── ResourceBundle-SwiftBrick-SwiftBrick-Info.plist
│ │ ├── SwiftBrick-Info.plist
│ │ ├── SwiftBrick-dummy.m
│ │ ├── SwiftBrick-prefix.pch
│ │ ├── SwiftBrick-umbrella.h
│ │ ├── SwiftBrick.debug.xcconfig
│ │ ├── SwiftBrick.modulemap
│ │ └── SwiftBrick.release.xcconfig
│ │ ├── SwiftShow
│ │ ├── SwiftShow-Info.plist
│ │ ├── SwiftShow-dummy.m
│ │ ├── SwiftShow-prefix.pch
│ │ ├── SwiftShow-umbrella.h
│ │ ├── SwiftShow.debug.xcconfig
│ │ ├── SwiftShow.modulemap
│ │ └── SwiftShow.release.xcconfig
│ │ └── SwiftyAttributes
│ │ ├── SwiftyAttributes-Info.plist
│ │ ├── SwiftyAttributes-dummy.m
│ │ ├── SwiftyAttributes-prefix.pch
│ │ ├── SwiftyAttributes-umbrella.h
│ │ ├── SwiftyAttributes.debug.xcconfig
│ │ ├── SwiftyAttributes.modulemap
│ │ └── SwiftyAttributes.release.xcconfig
├── SwiftShow.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Example.xcscheme
├── SwiftShow.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── SwiftShow
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── Loading.imageset
│ │ │ ├── Contents.json
│ │ │ └── loading_200x194_01@2x.png
│ │ ├── icon_kangaroo_global_loading_0.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_1@2x.png
│ │ ├── icon_kangaroo_global_loading_1.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_1@2x.png
│ │ ├── icon_kangaroo_global_loading_10.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_10@2x.png
│ │ ├── icon_kangaroo_global_loading_11.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_11@2x.png
│ │ ├── icon_kangaroo_global_loading_12.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_12@2x.png
│ │ ├── icon_kangaroo_global_loading_13.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_13@2x.png
│ │ ├── icon_kangaroo_global_loading_14.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_14@2x.png
│ │ ├── icon_kangaroo_global_loading_15.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_15@2x.png
│ │ ├── icon_kangaroo_global_loading_2.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_2@2x.png
│ │ ├── icon_kangaroo_global_loading_3.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_3@2x.png
│ │ ├── icon_kangaroo_global_loading_4.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_4@2x.png
│ │ ├── icon_kangaroo_global_loading_5.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_5@2x.png
│ │ ├── icon_kangaroo_global_loading_6.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_6@2x.png
│ │ ├── icon_kangaroo_global_loading_7.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_7@2x.png
│ │ ├── icon_kangaroo_global_loading_8.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_8@2x.png
│ │ ├── icon_kangaroo_global_loading_9.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon_kangaroo_global_loading_9@2x.png
│ │ ├── share_haoyou_btn.imageset
│ │ │ ├── Contents.json
│ │ │ ├── profile_ic_share_weixin@2x.png
│ │ │ └── profile_ic_share_weixin@3x.png
│ │ └── timg.imageset
│ │ │ ├── Contents.json
│ │ │ └── timg.jpeg
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── LViewController.swift
│ ├── SceneDelegate.swift
│ └── ViewController.swift
├── pod_install
├── pod_update
└── pod_update-no-repo
├── Image
├── Alert1.png
├── Alert2.png
├── Alert3.png
├── DropDown.gif
├── Loading1.png
├── Loading2.png
├── Loading3.png
├── Package.swift
├── Pop1.gif
├── Pop2.gif
├── logo.png
├── toast1.png
├── toast2.png
├── toast3.png
├── toast4.png
└── toast5.png
├── LICENSE
├── Package.resolved
├── Package.swift
├── README.md
├── Sources
└── SwiftShow
│ ├── Presentation
│ ├── PresentationAnimation.swift
│ ├── PresentationController.swift
│ ├── PresentationEnums.swift
│ ├── PresentedViewType.swift
│ └── UIViewController+Presentation.swift
│ └── Show
│ ├── AlertView.swift
│ ├── CommonView.swift
│ ├── Config.swift
│ ├── DropDownView.swift
│ ├── LoadingView.swift
│ ├── PopView.swift
│ ├── Show.swift
│ └── ToastView.swift
├── SwiftShow.podspec
├── fastlane
├── Fastfile
├── Package.swift
├── README.md
├── actions
│ └── remove_git_tag.rb
└── report.xml
└── fastlane_pod
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## User settings
6 | xcuserdata/
7 |
8 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
9 | *.xcscmblueprint
10 | *.xccheckout
11 |
12 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
13 | build/
14 | DerivedData/
15 | *.moved-aside
16 | *.pbxuser
17 | !default.pbxuser
18 | *.mode1v3
19 | !default.mode1v3
20 | *.mode2v3
21 | !default.mode2v3
22 | *.perspectivev3
23 | !default.perspectivev3
24 |
25 | ## Obj-C/Swift specific
26 | *.hmap
27 |
28 | ## App packaging
29 | *.ipa
30 | *.dSYM.zip
31 | *.dSYM
32 |
33 | ## Playgrounds
34 | timeline.xctimeline
35 | playground.xcworkspace
36 |
37 | # Swift Package Manager
38 | #
39 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
40 | # Packages/
41 | # Package.pins
42 | # Package.resolved
43 | # *.xcodeproj
44 | #
45 | # Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
46 | # hence it is not needed unless you have added a package configuration file to your project
47 | # .swiftpm
48 |
49 | .build/
50 |
51 | # CocoaPods
52 | #
53 | # We recommend against adding the Pods directory to your .gitignore. However
54 | # you should judge for yourself, the pros and cons are mentioned at:
55 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
56 | #
57 | # Pods/
58 | #
59 | # Add this line if you want to avoid checking in source code from the Xcode workspace
60 | # *.xcworkspace
61 |
62 | # Carthage
63 | #
64 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
65 | # Carthage/Checkouts
66 |
67 | Carthage/Build/
68 |
69 | # Accio dependency management
70 | Dependencies/
71 | .accio/
72 |
73 | # fastlane
74 | #
75 | # It is recommended to not store the screenshots in the git repo.
76 | # Instead, use fastlane to re-generate the screenshots whenever they are needed.
77 | # For more information about the recommended setup visit:
78 | # https://docs.fastlane.tools/best-practices/source-control/#source-control
79 |
80 | # Code Injection
81 | #
82 | # After new code Injection tools there's a generated folder /iOSInjectionProject
83 | # https://github.com/johnno1962/injectionforxcode
84 |
85 | iOSInjectionProject/
86 |
--------------------------------------------------------------------------------
/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.2
2 |
3 | import PackageDescription
4 |
5 | let package = Package(
6 | name: "Example",
7 | products: [],
8 | targets: []
9 | )
10 |
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | platform :ios, '11.0'
4 |
5 | target 'Example' do
6 | pod 'SwiftShow/Presentation', :path => '../'
7 |
8 | pod 'KeyboardListener'
9 | pod 'IQKeyboardManagerSwift'
10 | pod 'SwiftBrick'
11 | pod 'SwiftyAttributes'
12 | end
13 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - IQKeyboardManagerSwift (6.5.12)
3 | - KeyboardListener (1.0.0)
4 | - SnapKit (5.6.0)
5 | - SwiftBrick (2.4.5):
6 | - SwiftBrick/BaseCell (= 2.4.5)
7 | - SwiftBrick/BaseVC (= 2.4.5)
8 | - SwiftBrick/Extensions (= 2.4.5)
9 | - SwiftBrick/Util (= 2.4.5)
10 | - SwiftBrick/ViewFactory (= 2.4.5)
11 | - SwiftBrick/BaseCell (2.4.5):
12 | - SwiftBrick/Extensions
13 | - SwiftBrick/BaseVC (2.4.5):
14 | - SwiftBrick/BaseCell
15 | - SwiftBrick/Extensions
16 | - SwiftBrick/Util
17 | - SwiftBrick/Extensions (2.4.5):
18 | - SwiftBrick/Util
19 | - SwiftBrick/Util (2.4.5)
20 | - SwiftBrick/ViewFactory (2.4.5):
21 | - SwiftBrick/Extensions
22 | - SwiftBrick/Util
23 | - SwiftShow/Presentation (0.7.6):
24 | - SwiftShow/Show
25 | - SwiftShow/Show (0.7.6):
26 | - SnapKit
27 | - SwiftyAttributes (5.3.0)
28 |
29 | DEPENDENCIES:
30 | - IQKeyboardManagerSwift
31 | - KeyboardListener
32 | - SwiftBrick
33 | - SwiftShow/Presentation (from `../`)
34 | - SwiftyAttributes
35 |
36 | SPEC REPOS:
37 | trunk:
38 | - IQKeyboardManagerSwift
39 | - KeyboardListener
40 | - SnapKit
41 | - SwiftBrick
42 | - SwiftyAttributes
43 |
44 | EXTERNAL SOURCES:
45 | SwiftShow:
46 | :path: "../"
47 |
48 | SPEC CHECKSUMS:
49 | IQKeyboardManagerSwift: 371b08cb39664fb56030f5345c815a4ffc74bbc0
50 | KeyboardListener: c1a795cde8f7ce0d137d3c58763890c5e8ac1d72
51 | SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25
52 | SwiftBrick: 090b0bcb85d73850919d0a74892a4f145be71a9d
53 | SwiftShow: 0ddd6bfc324fdac66f9745e42d4bde3583fdcf0b
54 | SwiftyAttributes: 6d7386e90ac611b6acac8b59e38f34bfa4621c80
55 |
56 | PODFILE CHECKSUM: cb9490692890dc532be1ba5c43af66f5e410a3c1
57 |
58 | COCOAPODS: 1.12.1
59 |
--------------------------------------------------------------------------------
/Example/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Categories/IQNSArray+Sort.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IQNSArray+Sort.swift
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-20 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | // import Foundation - UIKit contains Foundation
25 | import UIKit
26 |
27 | /**
28 | UIView.subviews sorting category.
29 | */
30 | @available(iOSApplicationExtension, unavailable)
31 | internal extension Array where Element: UIView {
32 |
33 | /**
34 | Returns the array by sorting the UIView's by their tag property.
35 | */
36 | func sortedArrayByTag() -> [Element] {
37 |
38 | return sorted(by: { (obj1: Element, obj2: Element) -> Bool in
39 |
40 | return (obj1.tag < obj2.tag)
41 | })
42 | }
43 |
44 | /**
45 | Returns the array by sorting the UIView's by their tag property.
46 | */
47 | func sortedArrayByPosition() -> [Element] {
48 |
49 | return sorted(by: { (obj1: Element, obj2: Element) -> Bool in
50 | if obj1.frame.minY != obj2.frame.minY {
51 | return obj1.frame.minY < obj2.frame.minY
52 | } else {
53 | return obj1.frame.minX < obj2.frame.minX
54 | }
55 | })
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/Example/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstantsInternal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IQKeyboardManagerConstantsInternal.swift
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-20 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | import UIKit
25 |
--------------------------------------------------------------------------------
/Example/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IQInvocation.swift
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-20 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | import UIKit
25 |
26 | @available(iOSApplicationExtension, unavailable)
27 | @objc public final class IQInvocation: NSObject {
28 | @objc public weak var target: AnyObject?
29 | @objc public var action: Selector
30 |
31 | @objc public init(_ target: AnyObject, _ action: Selector) {
32 | self.target = target
33 | self.action = action
34 | }
35 |
36 | @objc public func invoke(from: Any) {
37 | if let target = target {
38 | UIApplication.shared.sendAction(action, to: target, from: from, for: UIEvent())
39 | }
40 | }
41 |
42 | deinit {
43 | target = nil
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Example/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IQPreviousNextView.swift
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-20 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | import UIKit
25 |
26 | @available(iOSApplicationExtension, unavailable)
27 | @objc open class IQPreviousNextView: UIView {
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/Example/Pods/IQKeyboardManagerSwift/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2013-2017 Iftekhar Qurashi
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Example/Pods/KeyboardListener/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 LiuChang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Example/Pods/KeyboardListener/README.md:
--------------------------------------------------------------------------------
1 | # KeyboardListener
2 | Prevent keyboard from covering UITextField/UITextView.
3 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/SwiftShow.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "SwiftShow",
3 | "version": "0.7.6",
4 | "summary": "弹窗组件.",
5 | "description": "工具.",
6 | "homepage": "https://github.com/jackiehu/",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "HU": "814030966@qq.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/jackiehu/SwiftShow.git",
16 | "tag": "0.7.6"
17 | },
18 | "platforms": {
19 | "ios": "11.0"
20 | },
21 | "swift_versions": [
22 | "5.5",
23 | "5.4",
24 | "5.3",
25 | "5.2",
26 | "5.1",
27 | "5.0",
28 | "4.2"
29 | ],
30 | "requires_arc": true,
31 | "default_subspecs": "Show",
32 | "subspecs": [
33 | {
34 | "name": "Show",
35 | "source_files": "Sources/SwiftShow/Show/**/*",
36 | "dependencies": {
37 | "SnapKit": [
38 |
39 | ]
40 | }
41 | },
42 | {
43 | "name": "Presentation",
44 | "source_files": "Sources/SwiftShow/Presentation/**/*",
45 | "dependencies": {
46 | "SwiftShow/Show": [
47 |
48 | ]
49 | }
50 | }
51 | ],
52 | "swift_version": "5.5"
53 | }
54 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - IQKeyboardManagerSwift (6.5.12)
3 | - KeyboardListener (1.0.0)
4 | - SnapKit (5.6.0)
5 | - SwiftBrick (2.4.5):
6 | - SwiftBrick/BaseCell (= 2.4.5)
7 | - SwiftBrick/BaseVC (= 2.4.5)
8 | - SwiftBrick/Extensions (= 2.4.5)
9 | - SwiftBrick/Util (= 2.4.5)
10 | - SwiftBrick/ViewFactory (= 2.4.5)
11 | - SwiftBrick/BaseCell (2.4.5):
12 | - SwiftBrick/Extensions
13 | - SwiftBrick/BaseVC (2.4.5):
14 | - SwiftBrick/BaseCell
15 | - SwiftBrick/Extensions
16 | - SwiftBrick/Util
17 | - SwiftBrick/Extensions (2.4.5):
18 | - SwiftBrick/Util
19 | - SwiftBrick/Util (2.4.5)
20 | - SwiftBrick/ViewFactory (2.4.5):
21 | - SwiftBrick/Extensions
22 | - SwiftBrick/Util
23 | - SwiftShow/Presentation (0.7.6):
24 | - SwiftShow/Show
25 | - SwiftShow/Show (0.7.6):
26 | - SnapKit
27 | - SwiftyAttributes (5.3.0)
28 |
29 | DEPENDENCIES:
30 | - IQKeyboardManagerSwift
31 | - KeyboardListener
32 | - SwiftBrick
33 | - SwiftShow/Presentation (from `../`)
34 | - SwiftyAttributes
35 |
36 | SPEC REPOS:
37 | trunk:
38 | - IQKeyboardManagerSwift
39 | - KeyboardListener
40 | - SnapKit
41 | - SwiftBrick
42 | - SwiftyAttributes
43 |
44 | EXTERNAL SOURCES:
45 | SwiftShow:
46 | :path: "../"
47 |
48 | SPEC CHECKSUMS:
49 | IQKeyboardManagerSwift: 371b08cb39664fb56030f5345c815a4ffc74bbc0
50 | KeyboardListener: c1a795cde8f7ce0d137d3c58763890c5e8ac1d72
51 | SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25
52 | SwiftBrick: 090b0bcb85d73850919d0a74892a4f145be71a9d
53 | SwiftShow: 0ddd6bfc324fdac66f9745e42d4bde3583fdcf0b
54 | SwiftyAttributes: 6d7386e90ac611b6acac8b59e38f34bfa4621c80
55 |
56 | PODFILE CHECKSUM: cb9490692890dc532be1ba5c43af66f5e410a3c1
57 |
58 | COCOAPODS: 1.12.1
59 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintConfig.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection
27 | #else
28 | import AppKit
29 | public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection
30 | #endif
31 |
32 |
33 | public struct ConstraintConfig {
34 |
35 | public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 | #if os(iOS) || os(tvOS)
31 | public protocol ConstraintDirectionalInsetTarget: ConstraintConstantTarget {
32 | }
33 |
34 | @available(iOS 11.0, tvOS 11.0, *)
35 | extension ConstraintDirectionalInsets: ConstraintDirectionalInsetTarget {
36 | }
37 |
38 | extension ConstraintDirectionalInsetTarget {
39 |
40 | @available(iOS 11.0, tvOS 11.0, *)
41 | internal var constraintDirectionalInsetTargetValue: ConstraintDirectionalInsets {
42 | if let amount = self as? ConstraintDirectionalInsets {
43 | return amount
44 | } else {
45 | return ConstraintDirectionalInsets(top: 0, leading: 0, bottom: 0, trailing: 0)
46 | }
47 | }
48 | }
49 | #endif
50 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | @available(iOS 11.0, tvOS 11.0, *)
33 | public typealias ConstraintDirectionalInsets = NSDirectionalEdgeInsets
34 | #endif
35 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintInsets.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | public typealias ConstraintInsets = UIEdgeInsets
33 | #else
34 | public typealias ConstraintInsets = NSEdgeInsets
35 | #endif
36 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public final class ConstraintItem {
32 |
33 | internal weak var target: AnyObject?
34 | internal let attributes: ConstraintAttributes
35 |
36 | internal init(target: AnyObject?, attributes: ConstraintAttributes) {
37 | self.target = target
38 | self.attributes = attributes
39 | }
40 |
41 | internal var layoutConstraintItem: LayoutConstraintItem? {
42 | return self.target as? LayoutConstraintItem
43 | }
44 |
45 | }
46 |
47 | public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool {
48 | // pointer equality
49 | guard lhs !== rhs else {
50 | return true
51 | }
52 |
53 | // must both have valid targets and identical attributes
54 | guard let target1 = lhs.target,
55 | let target2 = rhs.target,
56 | target1 === target2 && lhs.attributes == rhs.attributes else {
57 | return false
58 | }
59 |
60 | return true
61 | }
62 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #endif
27 |
28 |
29 | @available(iOS 9.0, OSX 10.11, *)
30 | public extension ConstraintLayoutGuide {
31 |
32 | var snp: ConstraintLayoutGuideDSL {
33 | return ConstraintLayoutGuideDSL(guide: self)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | @available(iOS 9.0, *)
33 | public typealias ConstraintLayoutGuide = UILayoutGuide
34 | #else
35 | @available(OSX 10.11, *)
36 | public typealias ConstraintLayoutGuide = NSLayoutGuide
37 | #endif
38 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | @available(iOS 8.0, *)
33 | public typealias ConstraintLayoutSupport = UILayoutSupport
34 | #else
35 | public class ConstraintLayoutSupport {}
36 | #endif
37 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | @available(iOS 8.0, *)
32 | public struct ConstraintLayoutSupportDSL: ConstraintDSL {
33 |
34 | public var target: AnyObject? {
35 | return self.support
36 | }
37 |
38 | internal let support: ConstraintLayoutSupport
39 |
40 | internal init(support: ConstraintLayoutSupport) {
41 | self.support = support
42 |
43 | }
44 |
45 | public var top: ConstraintItem {
46 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
47 | }
48 |
49 | public var bottom: ConstraintItem {
50 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
51 | }
52 |
53 | public var height: ConstraintItem {
54 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class ConstraintMakerFinalizable {
32 |
33 | internal let description: ConstraintDescription
34 |
35 | internal init(_ description: ConstraintDescription) {
36 | self.description = description
37 | }
38 |
39 | @discardableResult
40 | public func labeled(_ label: String) -> ConstraintMakerFinalizable {
41 | self.description.label = label
42 | return self
43 | }
44 |
45 | public var constraint: Constraint {
46 | return self.description.constraint!
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintMultiplierTarget {
32 |
33 | var constraintMultiplierTargetValue: CGFloat { get }
34 |
35 | }
36 |
37 | extension Int: ConstraintMultiplierTarget {
38 |
39 | public var constraintMultiplierTargetValue: CGFloat {
40 | return CGFloat(self)
41 | }
42 |
43 | }
44 |
45 | extension UInt: ConstraintMultiplierTarget {
46 |
47 | public var constraintMultiplierTargetValue: CGFloat {
48 | return CGFloat(self)
49 | }
50 |
51 | }
52 |
53 | extension Float: ConstraintMultiplierTarget {
54 |
55 | public var constraintMultiplierTargetValue: CGFloat {
56 | return CGFloat(self)
57 | }
58 |
59 | }
60 |
61 | extension Double: ConstraintMultiplierTarget {
62 |
63 | public var constraintMultiplierTargetValue: CGFloat {
64 | return CGFloat(self)
65 | }
66 |
67 | }
68 |
69 | extension CGFloat: ConstraintMultiplierTarget {
70 |
71 | public var constraintMultiplierTargetValue: CGFloat {
72 | return self
73 | }
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintOffsetTarget: ConstraintConstantTarget {
32 | }
33 |
34 | extension Int: ConstraintOffsetTarget {
35 | }
36 |
37 | extension UInt: ConstraintOffsetTarget {
38 | }
39 |
40 | extension Float: ConstraintOffsetTarget {
41 | }
42 |
43 | extension Double: ConstraintOffsetTarget {
44 | }
45 |
46 | extension CGFloat: ConstraintOffsetTarget {
47 | }
48 |
49 | extension ConstraintOffsetTarget {
50 |
51 | internal var constraintOffsetTargetValue: CGFloat {
52 | let offset: CGFloat
53 | if let amount = self as? Float {
54 | offset = CGFloat(amount)
55 | } else if let amount = self as? Double {
56 | offset = CGFloat(amount)
57 | } else if let amount = self as? CGFloat {
58 | offset = CGFloat(amount)
59 | } else if let amount = self as? Int {
60 | offset = CGFloat(amount)
61 | } else if let amount = self as? UInt {
62 | offset = CGFloat(amount)
63 | } else {
64 | offset = 0.0
65 | }
66 | return offset
67 | }
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintRelatableTarget {
32 | }
33 |
34 | extension Int: ConstraintRelatableTarget {
35 | }
36 |
37 | extension UInt: ConstraintRelatableTarget {
38 | }
39 |
40 | extension Float: ConstraintRelatableTarget {
41 | }
42 |
43 | extension Double: ConstraintRelatableTarget {
44 | }
45 |
46 | extension CGFloat: ConstraintRelatableTarget {
47 | }
48 |
49 | extension CGSize: ConstraintRelatableTarget {
50 | }
51 |
52 | extension CGPoint: ConstraintRelatableTarget {
53 | }
54 |
55 | extension ConstraintInsets: ConstraintRelatableTarget {
56 | }
57 |
58 | #if os(iOS) || os(tvOS)
59 | @available(iOS 11.0, tvOS 11.0, *)
60 | extension ConstraintDirectionalInsets: ConstraintRelatableTarget {
61 | }
62 | #endif
63 |
64 | extension ConstraintItem: ConstraintRelatableTarget {
65 | }
66 |
67 | extension ConstraintView: ConstraintRelatableTarget {
68 | }
69 |
70 | @available(iOS 9.0, OSX 10.11, *)
71 | extension ConstraintLayoutGuide: ConstraintRelatableTarget {
72 | }
73 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintRelation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | internal enum ConstraintRelation : Int {
32 | case equal = 1
33 | case lessThanOrEqual
34 | case greaterThanOrEqual
35 |
36 | internal var layoutRelation: LayoutRelation {
37 | get {
38 | switch(self) {
39 | case .equal:
40 | return .equal
41 | case .lessThanOrEqual:
42 | return .lessThanOrEqual
43 | case .greaterThanOrEqual:
44 | return .greaterThanOrEqual
45 | }
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/ConstraintView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | public typealias ConstraintView = UIView
33 | #else
34 | public typealias ConstraintView = NSView
35 | #endif
36 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/LayoutConstraint.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class LayoutConstraint : NSLayoutConstraint {
32 |
33 | public var label: String? {
34 | get {
35 | return self.identifier
36 | }
37 | set {
38 | self.identifier = newValue
39 | }
40 | }
41 |
42 | internal weak var constraint: Constraint? = nil
43 |
44 | }
45 |
46 | internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool {
47 | // If firstItem or secondItem on either constraint has a dangling pointer
48 | // this comparison can cause a crash. The solution for this is to ensure
49 | // your layout code hold strong references to things like Views, LayoutGuides
50 | // and LayoutAnchors as SnapKit will not keep strong references to any of these.
51 | guard lhs.firstAttribute == rhs.firstAttribute &&
52 | lhs.secondAttribute == rhs.secondAttribute &&
53 | lhs.relation == rhs.relation &&
54 | lhs.priority == rhs.priority &&
55 | lhs.multiplier == rhs.multiplier &&
56 | lhs.secondItem === rhs.secondItem &&
57 | lhs.firstItem === rhs.firstItem else {
58 | return false
59 | }
60 | return true
61 | }
62 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/Typealiases.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | import Foundation
25 |
26 | #if os(iOS) || os(tvOS)
27 | import UIKit
28 | #if swift(>=4.2)
29 | typealias LayoutRelation = NSLayoutConstraint.Relation
30 | typealias LayoutAttribute = NSLayoutConstraint.Attribute
31 | #else
32 | typealias LayoutRelation = NSLayoutRelation
33 | typealias LayoutAttribute = NSLayoutAttribute
34 | #endif
35 | typealias LayoutPriority = UILayoutPriority
36 | #else
37 | import AppKit
38 | typealias LayoutRelation = NSLayoutConstraint.Relation
39 | typealias LayoutAttribute = NSLayoutConstraint.Attribute
40 | typealias LayoutPriority = NSLayoutConstraint.Priority
41 | #endif
42 |
43 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #endif
27 |
28 |
29 | @available(iOS 8.0, *)
30 | public extension ConstraintLayoutSupport {
31 |
32 | var snp: ConstraintLayoutSupportDSL {
33 | return ConstraintLayoutSupportDSL(support: self)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 张金虎
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/BaseCell/CollectionReusableView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JHCollectionReusableView.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 19/11/2019.
6 | // Copyright © 2019 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 | // MARK: ===================================Cell基类:UICollectionReusableView=========================================
11 | open class CollectionReusableView: UICollectionReusableView, Reusable{
12 |
13 | /// 样式,header还是footer
14 | public enum ReusableViewType {
15 | case SectionHeader//UICollectionElementKindSectionHeader
16 | case SectionFooter//UICollectionElementKindSectionFooter
17 | }
18 |
19 | public override init(frame: CGRect) {
20 | super.init(frame: frame)
21 | setupCellViews()
22 | backgroundColor = .clear
23 | }
24 |
25 | required public init?(coder: NSCoder) {
26 | fatalError("init(coder:) has not been implemented")
27 | }
28 |
29 | // MARK: - 继承 在内部实现布局
30 | /// 子类重写,进行view布局
31 | open func setupCellViews() {
32 |
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/BaseCell/CollectionViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JHCollectionViewCell.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 19/11/2019.
6 | // Copyright © 2019 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 | // MARK: ===================================Cell基类:UICollectionViewCell=========================================
11 | open class CollectionViewCell: UICollectionViewCell, Reusable{
12 |
13 | public override init(frame: CGRect) {
14 | super.init(frame: frame)
15 | setupCellViews()
16 | contentView.backgroundColor = .clear
17 | }
18 |
19 | required public init?(coder: NSCoder) {
20 | fatalError("init(coder:) has not been implemented")
21 | }
22 |
23 | // MARK: - 继承 在内部实现布局
24 | /// 子类重写,进行view布局
25 | open func setupCellViews() {
26 |
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/BaseCell/TableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JHBaseTableViewCell.swift
3 | // JHToolsModule_Swift
4 | //
5 | // Created by iOS on 18/11/2019.
6 | // Copyright © 2019 HU. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | // MARK: ===================================Cell基类:UITableViewCell=========================================
11 | open class TableViewCell: UITableViewCell, Reusable{
12 |
13 | override open func awakeFromNib() {
14 | super.awakeFromNib()
15 |
16 | }
17 |
18 | override open func setSelected(_ selected: Bool, animated: Bool) {
19 | super.setSelected(selected, animated: animated)
20 |
21 | }
22 |
23 | required public init?(coder: NSCoder) {
24 | fatalError("init(coder:) has not been implemented")
25 | }
26 |
27 | public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String? = String(describing: TableViewCell.self)) {
28 | super.init(style: style, reuseIdentifier: reuseIdentifier)
29 | contentView.backgroundColor = .clear
30 | setupCellViews()
31 | }
32 |
33 | // MARK: - 继承 在内部实现布局
34 | /// 子类重写,进行view布局
35 | open func setupCellViews() {
36 |
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/BaseCell/TableViewHeaderFooterView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JHTableViewHeaderFooterView.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 19/11/2019.
6 | // Copyright © 2019 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 | // MARK: ===================================Cell基类:UITableViewHeaderFooterView=========================================
11 | open class TableViewHeaderFooterView: UITableViewHeaderFooterView, Reusable{
12 |
13 | public var backColor: UIColor? {
14 | didSet{
15 | backgroundView?.backgroundColor = backColor
16 | }
17 | }
18 |
19 | public override init(reuseIdentifier: String? = String(describing: TableViewHeaderFooterView.self)) {
20 | super.init(reuseIdentifier: reuseIdentifier)
21 | backgroundView = UIView(frame: bounds)
22 | backgroundView?.backgroundColor = .clear
23 | setupCellViews()
24 | }
25 |
26 | required public init?(coder: NSCoder) {
27 | fatalError("init(coder:) has not been implemented")
28 | }
29 |
30 | // MARK: - 继承 在内部实现布局
31 | /// 子类重写,进行view布局
32 | open func setupCellViews() {
33 |
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/BaseVC/SwiftUIVC.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JHSwiftUIVC.swift
3 | // SwiftBrick
4 | //
5 | // Created by 狄烨 on 2023/5/13.
6 | // Copyright © 2023 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import SwiftUI
11 | @available(iOS 13.0, *)
12 | open class SwiftUIVC: ViewController {
13 |
14 | private var hostVC: UIHostingController
15 |
16 | public init(_ view: T) {
17 | self.hostVC = UIHostingController(rootView: view)
18 | super.init(nibName: nil, bundle: nil)
19 | }
20 |
21 | required public init?(coder: NSCoder) {
22 | fatalError("init(coder:) has not been implemented")
23 | }
24 |
25 | open override func viewDidLoad() {
26 | super.viewDidLoad()
27 | hostVC.view.frame = view.bounds
28 | addChild(hostVC)
29 | view.addSubview(hostVC.view)
30 | hostVC.didMove(toParent: self)
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/DataEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DataEx.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2023/5/24.
6 | //
7 |
8 | import CommonCrypto
9 | import Foundation
10 | public extension SwiftBrickWrapper where Wrapped == Data {
11 | var sha256: String {
12 | let hash = wrapped.withUnsafeBytes{ (bytes: UnsafeRawBufferPointer) -> [UInt8] in
13 | var hash = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH))
14 | CC_SHA256(bytes.baseAddress, CC_LONG(wrapped.count), &hash)
15 | return hash
16 | }
17 | return hash.reduce("") { $0 + String(format:"%02x", $1) }
18 | }
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/DictionaryEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DictionaryEx.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2021/11/4.
6 | // Copyright © 2021 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 | // MARK: - 一、基本的扩展
11 | public extension SwiftBrickWrapper where Wrapped == Dictionary {
12 |
13 | // MARK: 1.1、检查字典里面是否有某个 key
14 | /// 检查字典里面是否有某个 key
15 | func has(_ key: String) -> Bool {
16 | return wrapped.index(forKey: key) != nil
17 | }
18 |
19 | // MARK: 1.2、字典的key或者value组成的数组
20 | /// 字典的key或者value组成的数组
21 | /// - Parameter map: map
22 | /// - Returns: 数组
23 | func toArray(_ map: (String, Any) -> V) -> [V] {
24 | return wrapped.map(map)
25 | }
26 |
27 | // MARK: 1.4、字典 -> JSON字符串
28 | /// 字典转换为JSONString
29 | func toJSON() -> String? {
30 | if let jsonData = try? JSONSerialization.data(withJSONObject: self, options: JSONSerialization.WritingOptions()) {
31 | let jsonStr = String(data: jsonData, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
32 | return String(jsonStr ?? "")
33 | }
34 | return nil
35 | }
36 |
37 | // MARK: 1.5、字典里面所有的 key
38 | /// 字典里面所有的key
39 | /// - Returns: key 数组
40 | func allKeys() -> [String] {
41 | /*
42 | shuffled:不会改变原数组,返回一个新的随机化的数组。 可以用于let 数组
43 | */
44 | return wrapped.keys.shuffled()
45 | }
46 |
47 | // MARK: 1.6、字典里面所有的 value
48 | /// 字典里面所有的value
49 | /// - Returns: value 数组
50 | func allValues() -> [Any] {
51 | return wrapped.values.shuffled()
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/LayoutEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LayoutEx.swift
3 | // SwiftBrick
4 | //
5 | // Created by 狄烨 on 2022/6/13.
6 | // Copyright © 2022 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 | ///方便自适应布局进行等比例宽高 等同于 FitWidth FitHight
11 | public extension SwiftBrickWrapper where Wrapped == CGFloat {
12 | /// 比例缩放 width
13 | ///
14 | /// - Parameter size: origin width
15 | /// - Returns: 比例缩放后的 width 没有除以2.0
16 | func scaleWidth() -> CGFloat {
17 | return Define.screenWidth / 375 * wrapped
18 | }
19 | /// 比例缩放 height
20 | ///
21 | /// - Parameter size: origin height
22 | /// - Returns: 比例缩放后的 height 没有除以2.0
23 | func scaleHeight() -> CGFloat {
24 | return Define.screenHeight / 667 * wrapped
25 | }
26 | }
27 | ///方便自适应布局进行等比例宽高 等同于 FitWidth FitHight
28 |
29 | public extension SwiftBrickWrapper where Wrapped == Int {
30 | /// 比例缩放 width
31 | ///
32 | /// - Parameter size: origin width
33 | /// - Returns: 比例缩放后的 width 没有除以2.0
34 | func scaleWidth() -> CGFloat {
35 | return Define.screenWidth / 375 * CGFloat(wrapped)
36 | }
37 | /// 比例缩放 height
38 | ///
39 | /// - Parameter size: origin height
40 | /// - Returns: 比例缩放后的 height 没有除以2.0
41 | func scaleHeight() -> CGFloat {
42 | return Define.screenHeight / 667 * CGFloat(wrapped)
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/NSObjectEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSObjectEx.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2021/11/26.
6 | // Copyright © 2021 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public extension NSObject {
12 |
13 | static func swizzling(_ forClass: AnyClass, originalSelector: Selector, swizzledSelector: Selector) {
14 | guard let originalMethod = class_getInstanceMethod(forClass, originalSelector),
15 | let swizzledMethod = class_getInstanceMethod(forClass, swizzledSelector) else {
16 | return
17 | }
18 |
19 | let isAddSuccess = class_addMethod(forClass, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod))
20 | if isAddSuccess {
21 | class_replaceMethod(forClass, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
22 | } else {
23 | method_exchangeImplementations(originalMethod, swizzledMethod)
24 | }
25 | }
26 | }
27 |
28 |
29 | public extension SwiftBrickWrapper where Wrapped: NSObject {
30 |
31 | func decode(coder aDecoder:NSCoder) {
32 | let mirror = Mirror(reflecting: self)
33 |
34 | for child in mirror.children {
35 | guard let label = child.label,
36 | let value = aDecoder.decodeObject(forKey: label) else {
37 | return
38 | }
39 | wrapped.setValue(value, forKey: label)
40 | }
41 | }
42 |
43 | // MARK: 归档
44 | func encode(with aCoder: NSCoder) {
45 | // MARK: 利用反射获取类的所有属性
46 | let mirror = Mirror(reflecting: self)
47 |
48 | for (label, value) in mirror.children {
49 | if let label = label {
50 | aCoder.encode(value, forKey: label)
51 | }
52 | }
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/StringEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StringEx.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2020/10/10.
6 | // Copyright © 2020 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import CommonCrypto
11 |
12 | // MARK: ===================================扩展: 字符串sha256=========================================
13 | public extension SwiftBrickWrapper where Wrapped == String {
14 |
15 | var sha256: String {
16 | let utf8 = wrapped.cString(using: .utf8)
17 | var digest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
18 | CC_SHA256(utf8, CC_LONG(utf8!.count - 1), &digest)
19 | return digest.reduce("") { $0 + String(format:"%02x", $1) }
20 | }
21 |
22 | /// Json字符串转Dic
23 | /// - Returns: 字典
24 | func toDictionary() -> [String : Any] {
25 | var result = [String : Any]()
26 | guard !wrapped.isEmpty else { return result }
27 | guard let dataSelf = wrapped.data(using: .utf8) else {
28 | return result
29 | }
30 | if let dic = try? JSONSerialization.jsonObject(with: dataSelf,
31 | options: .mutableContainers) as? [String : Any] {
32 | result = dic
33 | }
34 | return result
35 |
36 | }
37 |
38 | // MARK: 1.3、JSON字符串 -> 字典
39 | /// JsonString转为字典
40 | /// - Parameter json: JSON字符串
41 | /// - Returns: 字典
42 | func jsonToDictionary() -> Dictionary? {
43 | if let data = (try? JSONSerialization.jsonObject(
44 | with: wrapped.data(using: String.Encoding.utf8,
45 | allowLossyConversion: true)!,
46 | options: JSONSerialization.ReadingOptions.mutableContainers)) as? Dictionary {
47 | return data
48 | } else {
49 | return nil
50 | }
51 | }
52 |
53 | var localizedString: String {
54 | Bundle.current.localizedString(forKey: wrapped)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/UIGestureRecognizerEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIGestureRecognizerExtension.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 21/11/2019.
6 | // Copyright © 2019 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import Foundation
11 | // MARK: ===================================扩展: UIGestureRecognizer 点击手势闭包=========================================
12 | public extension UIGestureRecognizer {
13 | private class GestureAction {
14 | var action: (UIGestureRecognizer) -> Void
15 |
16 | init(action closure: @escaping (UIGestureRecognizer) -> Void) {
17 | action = closure
18 | }
19 | }
20 |
21 | private struct AssociatedKeys {
22 | static var ActionName = "action"
23 | }
24 |
25 | private var gestureAction: GestureAction? {
26 | set { objc_setAssociatedObject(self, &AssociatedKeys.ActionName, newValue, .OBJC_ASSOCIATION_RETAIN) }
27 | get { return objc_getAssociatedObject(self, &AssociatedKeys.ActionName) as? GestureAction }
28 | }
29 |
30 | convenience init(action: @escaping (UIGestureRecognizer) -> Void) {
31 | self.init()
32 | gestureAction = GestureAction(action: action)
33 | addTarget(self, action: #selector(handleAction(_:)))
34 | }
35 |
36 | @objc dynamic private func handleAction(_ recognizer: UIGestureRecognizer) {
37 | gestureAction?.action(recognizer)
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/UIStackViewEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIStackViewSnapEx.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2020/10/10.
6 | // Copyright © 2020 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | public extension UIStackView {
12 |
13 | convenience init(axis: NSLayoutConstraint.Axis,
14 | spacing: CGFloat = 0.0,
15 | alignment: UIStackView.Alignment = .fill,
16 | distribution: UIStackView.Distribution = .fill,
17 | autoLayout: Bool = false) {
18 | self.init()
19 | self.axis = axis
20 | self.spacing = spacing
21 | self.alignment = alignment
22 | self.distribution = distribution
23 | if !autoLayout {
24 | self.translatesAutoresizingMaskIntoConstraints = false
25 | self.setContentCompressionResistancePriority(UILayoutPriority.required, for: axis)
26 | }
27 |
28 | }
29 | }
30 |
31 | public extension SwiftBrickWrapper where Wrapped: UIStackView {
32 | func addBackground(color: UIColor = .clear, cornerRadius: CGFloat = 0) {
33 | let subView = UIView(frame: wrapped.bounds)
34 | subView.backgroundColor = color
35 | subView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
36 | wrapped.insertSubview(subView, at: 0)
37 |
38 | subView.layer.cornerRadius = cornerRadius
39 | subView.layer.masksToBounds = true
40 | subView.clipsToBounds = true
41 | }
42 |
43 | func addArrangedSubviews(_ views: [UIView]) {
44 | views.forEach { (view) in
45 | wrapped.addArrangedSubview(view)
46 | }
47 | }
48 |
49 | func removeArrangedView(_ view: UIView){
50 | wrapped.removeArrangedSubview(view)
51 | view.removeFromSuperview()
52 | }
53 |
54 | func removeArrangedSubviews() {
55 | wrapped.arrangedSubviews.forEach { (view) in
56 | removeArrangedView(view)
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/UserDefault.swift:
--------------------------------------------------------------------------------
1 | //
2 | // File.swift
3 | //
4 | //
5 | // Created by iOS on 2020/11/20.
6 | //
7 |
8 | import Foundation
9 | ///https://www.jianshu.com/p/6e963d82b129
10 | // MARK: ===================================工具类:UserDefault属性包裹器=========================================
11 | @propertyWrapper
12 | public struct UserDefault {
13 | private let key: String
14 | private let defaultValue: T?
15 |
16 | public init(_ key: String, defaultValue: T? = nil) {
17 | self.key = key
18 | self.defaultValue = defaultValue
19 | }
20 |
21 | public var wrappedValue: T? {
22 | get {
23 | return UserDefaults.standard.object(forKey: key) as? T ?? defaultValue
24 | }
25 | set {
26 | if newValue == nil {
27 | UserDefaults.standard.removeObject(forKey: key)
28 | } else {
29 | UserDefaults.standard.set(newValue, forKey: key)
30 | }
31 | }
32 | }
33 | }
34 |
35 | @propertyWrapper
36 | public struct UserDefaultSuite {
37 | private let suiteName: String
38 | private let key: String
39 | private let defaultValue: T?
40 |
41 | public init(_ suiteName: String, key: String, defaultValue: T? = nil) {
42 | self.key = key
43 | self.defaultValue = defaultValue
44 | self.suiteName = suiteName
45 | }
46 |
47 | public var wrappedValue: T? {
48 | get {
49 | return UserDefaults(suiteName: suiteName)?.object(forKey: key) as? T ?? defaultValue
50 | }
51 | set {
52 | if newValue == nil {
53 | UserDefaults(suiteName: suiteName)?.removeObject(forKey: key)
54 | } else {
55 | UserDefaults(suiteName: suiteName)?.set(newValue, forKey: key)
56 | }
57 | }
58 | }
59 | }
60 |
61 | //MARK: 使用示例
62 | //
63 | /////封装一个UserDefault配置文件
64 | //struct UserDefaultsConfig {
65 | // @UserDefault(key: "username", defaultValue: "123")
66 | // static var username: String
67 | //}
68 |
69 | //struct UserDefaultsSu {
70 | // @UserDefaultSuite(suiteName: "app", key: "test", defaultValue: "123")
71 | // static var test: String
72 | //}
73 | //
74 |
75 | /////具体的业务代码。
76 | //print("修改前\(UserDefaultsConfig.username)")
77 | //UserDefaultsConfig.username = "789"
78 | //print("修改后\(UserDefaultsConfig.username)")
79 |
80 | //print("修改前\(UserDefaultsSu.test)")
81 | //UserDefaultsSu.test = "789"
82 | //print("修改后\(UserDefaultsSu.test)")
83 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Extensions/UserDefaultsEx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UserDefaultsEx.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2020/11/20.
6 | // Copyright © 2020 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 | // MARK: ===================================扩展: UserDefaults=========================================
11 | public extension SwiftBrickWrapper where Wrapped: UserDefaults {
12 |
13 | func setT(object: T, forKey: String) throws {
14 |
15 | let jsonData = try JSONEncoder().encode(object)
16 | wrapped.set(jsonData, forKey: forKey)
17 | }
18 |
19 | func getT(objectType: T.Type, forKey: String) throws -> T? {
20 |
21 | guard let result = wrapped.value(forKey: forKey) as? Data else {
22 | return nil
23 | }
24 |
25 | return try JSONDecoder().decode(objectType, from: result)
26 | }
27 |
28 | ///下标脚本
29 | subscript(key: String) -> Any? {
30 | get {
31 | return wrapped.object(forKey: key)
32 | }
33 | set {
34 | wrapped.set(newValue, forKey: key)
35 | }
36 | }
37 |
38 | func float(forKey key: String) -> Float? {
39 | return wrapped.object(forKey: key) as? Float
40 | }
41 |
42 | func date(forKey key: String) -> Date? {
43 | return wrapped.object(forKey: key) as? Date
44 | }
45 |
46 | func object(_ type: T.Type, with key: String, usingDecoder decoder: JSONDecoder = JSONDecoder()) -> T? {
47 | guard let data = wrapped.value(forKey: key) as? Data else { return nil }
48 | return try? decoder.decode(type.self, from: data)
49 | }
50 |
51 | func set(object: T, forKey key: String, usingEncoder encoder: JSONEncoder = JSONEncoder()) {
52 | let data = try? encoder.encode(object)
53 | wrapped.set(data, forKey: key)
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/backColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "1.000",
9 | "green" : "1.000",
10 | "red" : "1.000"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "0.118",
27 | "green" : "0.110",
28 | "red" : "0.110"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseBlue.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "255",
9 | "green" : "122",
10 | "red" : "0"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "255",
27 | "green" : "132",
28 | "red" : "10"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "0",
9 | "green" : "102",
10 | "red" : "255"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "0",
27 | "green" : "126",
28 | "red" : "255"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseGray.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "147",
9 | "green" : "142",
10 | "red" : "142"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "157",
27 | "green" : "152",
28 | "red" : "152"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseGreen.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "89",
9 | "green" : "199",
10 | "red" : "52"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "88",
27 | "green" : "209",
28 | "red" : "48"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseIndigo.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "214",
9 | "green" : "86",
10 | "red" : "88"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "230",
27 | "green" : "92",
28 | "red" : "94"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseLine.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "227",
9 | "green" : "227",
10 | "red" : "227"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "67",
27 | "green" : "67",
28 | "red" : "67"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseOrange.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "0",
9 | "green" : "149",
10 | "red" : "255"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "10",
27 | "green" : "159",
28 | "red" : "255"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/basePink.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "85",
9 | "green" : "45",
10 | "red" : "255"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "95",
27 | "green" : "55",
28 | "red" : "255"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/basePurple.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "222",
9 | "green" : "82",
10 | "red" : "175"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "242",
27 | "green" : "90",
28 | "red" : "191"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseRed.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "48",
9 | "green" : "59",
10 | "red" : "255"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "48",
27 | "green" : "69",
28 | "red" : "255"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseTeal.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "250",
9 | "green" : "200",
10 | "red" : "90"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "255",
27 | "green" : "210",
28 | "red" : "100"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/baseYellow.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "0",
9 | "green" : "204",
10 | "red" : "255"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "10",
27 | "green" : "214",
28 | "red" : "255"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/bgColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "242",
9 | "green" : "242",
10 | "red" : "242"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "0",
27 | "green" : "0",
28 | "red" : "0"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "appearances" : [
9 | {
10 | "appearance" : "luminosity",
11 | "value" : "dark"
12 | }
13 | ],
14 | "idiom" : "universal",
15 | "scale" : "1x"
16 | },
17 | {
18 | "filename" : "ziyuan398-2.png",
19 | "idiom" : "universal",
20 | "scale" : "2x"
21 | },
22 | {
23 | "appearances" : [
24 | {
25 | "appearance" : "luminosity",
26 | "value" : "dark"
27 | }
28 | ],
29 | "filename" : "ziyuan398-3.png",
30 | "idiom" : "universal",
31 | "scale" : "2x"
32 | },
33 | {
34 | "filename" : "ziyuan398.png",
35 | "idiom" : "universal",
36 | "scale" : "3x"
37 | },
38 | {
39 | "appearances" : [
40 | {
41 | "appearance" : "luminosity",
42 | "value" : "dark"
43 | }
44 | ],
45 | "filename" : "ziyuan398-4.png",
46 | "idiom" : "universal",
47 | "scale" : "3x"
48 | }
49 | ],
50 | "info" : {
51 | "author" : "xcode",
52 | "version" : 1
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398-2.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398-3.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398-4.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_back.imageset/ziyuan398.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close-2.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close-3.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close-5.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Close.png
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/nav_ic_close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "appearances" : [
9 | {
10 | "appearance" : "luminosity",
11 | "value" : "dark"
12 | }
13 | ],
14 | "idiom" : "universal",
15 | "scale" : "1x"
16 | },
17 | {
18 | "filename" : "Close-2.png",
19 | "idiom" : "universal",
20 | "scale" : "2x"
21 | },
22 | {
23 | "appearances" : [
24 | {
25 | "appearance" : "luminosity",
26 | "value" : "dark"
27 | }
28 | ],
29 | "filename" : "Close.png",
30 | "idiom" : "universal",
31 | "scale" : "2x"
32 | },
33 | {
34 | "filename" : "Close-3.png",
35 | "idiom" : "universal",
36 | "scale" : "3x"
37 | },
38 | {
39 | "appearances" : [
40 | {
41 | "appearance" : "luminosity",
42 | "value" : "dark"
43 | }
44 | ],
45 | "filename" : "Close-5.png",
46 | "idiom" : "universal",
47 | "scale" : "3x"
48 | }
49 | ],
50 | "info" : {
51 | "author" : "xcode",
52 | "version" : 1
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/textDesColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "153",
9 | "green" : "153",
10 | "red" : "153"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "102",
27 | "green" : "99",
28 | "red" : "99"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/textLinkColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "252",
9 | "green" : "127",
10 | "red" : "0"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "255",
27 | "green" : "137",
28 | "red" : "0"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/textSecColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "90",
9 | "green" : "90",
10 | "red" : "90"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "151",
27 | "green" : "151",
28 | "red" : "151"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Resources/Colors.xcassets/textTitleColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "srgb",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "0",
9 | "green" : "0",
10 | "red" : "0"
11 | }
12 | },
13 | "idiom" : "universal"
14 | },
15 | {
16 | "appearances" : [
17 | {
18 | "appearance" : "luminosity",
19 | "value" : "dark"
20 | }
21 | ],
22 | "color" : {
23 | "color-space" : "srgb",
24 | "components" : {
25 | "alpha" : "1.000",
26 | "blue" : "247",
27 | "green" : "242",
28 | "red" : "242"
29 | }
30 | },
31 | "idiom" : "universal"
32 | }
33 | ],
34 | "info" : {
35 | "author" : "xcode",
36 | "version" : 1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Util/AppState.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppState.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2020/11/18.
6 | // Copyright © 2020 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 | // MARK: ===================================工具类:APP当前状态=========================================
11 | extension SwiftBrick{
12 | public enum AppStateMode {
13 | case debug
14 | case testFlight
15 | case appStore
16 | }
17 |
18 | public struct AppState {
19 |
20 | fileprivate static let isTestFlight = Bundle.main.appStoreReceiptURL?.lastPathComponent == "sandboxReceipt"
21 |
22 | public static var isDebug: Bool {
23 | #if DEBUG
24 | return true
25 | #else
26 | return false
27 | #endif
28 | }
29 |
30 | public static var state: AppStateMode {
31 | if isDebug {
32 | return .debug
33 | } else if isTestFlight {
34 | return .testFlight
35 | } else {
36 | return .appStore
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Util/Application.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Application.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2023/4/20.
6 | // Copyright © 2023 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 | // MARK:- App信息
11 | extension SwiftBrick{
12 | public struct Application {
13 |
14 | public static var appDisplayName: String {
15 | return Bundle.main.infoDictionary?["CFBundleDisplayName"] as! String
16 | }
17 |
18 | public static var appName: String {
19 | return Bundle.main.infoDictionary?[kCFBundleNameKey as String] as! String
20 | }
21 |
22 | public static var appBundleID: String {
23 | return Bundle.main.bundleIdentifier!
24 | }
25 |
26 | public static var version: String {
27 | return Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String
28 | }
29 |
30 | public static var build: String {
31 | return Bundle.main.object(forInfoDictionaryKey: kCFBundleVersionKey as String) as! String
32 | }
33 |
34 | public static var completeAppVersion: String {
35 | return "\(Application.version) (\(Application.build))"
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Util/Loader.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JHImageLoader.swift
3 | // JHToolsModule_Swift
4 | //
5 | // Created by iOS on 18/11/2019.
6 | // Copyright © 2019 HU. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | // MARK: ===================================工具类:用于加载当前命名空间的资源文件=========================================
11 | extension Bundle {
12 |
13 | #if !ENABLE_SPM
14 | private class _BundleClass { }
15 | #endif
16 |
17 | static var current: Bundle {
18 | #if ENABLE_SPM
19 | return Bundle.module
20 | #else
21 | return Bundle(for: _BundleClass.self)
22 | #endif
23 | }
24 |
25 | func localizedString(forKey key: String) -> String {
26 | self.localizedString(forKey: key, value: nil, table: nil)
27 | }
28 | }
29 |
30 | public struct L{
31 |
32 | static var bundle: Bundle = {
33 | let path = Bundle.current.path(forResource: "SwiftBrick", ofType: "bundle", inDirectory: nil)
34 | let bundle = Bundle(path: path ?? "")
35 | return bundle ?? Bundle.current
36 | }()
37 |
38 | public static func color(_ named: String) -> UIColor {
39 | guard let color = UIColor(named: named, in: bundle, compatibleWith: nil) else {
40 | return UIColor(named: named) ?? UIColor.clear
41 | }
42 | return color
43 | }
44 |
45 | public static func image(_ named: String) -> UIImage {
46 | guard let image = UIImage(named: named, in: bundle, compatibleWith: nil) else {
47 | let image = UIImage(named: named)
48 | return image ?? UIImage()
49 | }
50 | return image
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Util/SwiftBrick.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SwiftBrick.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2020/11/30.
6 | // Copyright © 2020 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | import SwiftUI
12 | // MARK: ===================================VC基类:协议=========================================
13 |
14 | public let AppState = SwiftBrick.AppState.self
15 | public let APP = SwiftBrick.Application.self
16 | public let Define = SwiftBrick.Define.self
17 | public let Device = SwiftBrick.Device.self
18 | public let DeviceKit = SwiftBrick.DeviceKit.self
19 | public let Font = SwiftBrick.Font.self
20 |
21 | public let SS = SwiftBrick.self
22 |
23 | public struct SwiftBrick{
24 | ///如果使用导航栏的功能可以全局设置下
25 | ///统一设置返回按钮图片(默认)
26 | public static var navBarNorBackImage: UIImage?
27 | ///统一设置返回按钮图片(按下)
28 | public static var navBarHigBackImage: UIImage?
29 | ///导航栏左按钮修正距离,默认按钮距离边缘为20:左移为-,右移为+
30 | public static var navBarLeftFixSpace: CGFloat = 0
31 | ///导航栏右按钮修正距离,默认按钮距离边缘为20:左移为+,右移为-
32 | public static var navBarRightFixSpace: CGFloat = 0
33 |
34 | }
35 |
36 | /// 参考属性包裹 Kingfisher.
37 | public struct SwiftBrickWrapper {
38 | public let wrapped: Wrapped
39 | public init(_ wrapped: Wrapped) {
40 | self.wrapped = wrapped
41 | }
42 | }
43 |
44 | public protocol SwiftBrickCompatible: AnyObject { }
45 | public protocol SwiftBrickCompatibleValue {}
46 |
47 | extension SwiftBrickCompatible {
48 | public var ss: SwiftBrickWrapper {
49 | get { return SwiftBrickWrapper(self) }
50 | set { }
51 | }
52 | }
53 |
54 | extension SwiftBrickCompatibleValue {
55 | public var ss: SwiftBrickWrapper {
56 | get { return SwiftBrickWrapper(self) }
57 | set { }
58 | }
59 | }
60 | extension NSObject: SwiftBrickCompatible {}
61 | //extension UIViewController: SwiftBrickCompatible {}
62 | //extension UITableView: SwiftBrickCompatible {}
63 | //extension UITableViewCell: SwiftBrickCompatible {}
64 | //extension UIImageView: SwiftBrickCompatible {}
65 | //extension UICollectionView: SwiftBrickCompatible {}
66 | //extension CALayer: SwiftBrickCompatible {}
67 |
68 | extension CGSize: SwiftBrickCompatibleValue {}
69 | extension Dictionary: SwiftBrickCompatibleValue {}
70 | extension CGFloat: SwiftBrickCompatibleValue {}
71 | extension Int: SwiftBrickCompatibleValue {}
72 | extension Data: SwiftBrickCompatibleValue {}
73 | extension String: SwiftBrickCompatibleValue {}
74 |
75 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Util/Then.swift:
--------------------------------------------------------------------------------
1 |
2 | import Foundation
3 | #if !os(Linux)
4 | import CoreGraphics
5 | #endif
6 | #if os(iOS) || os(tvOS)
7 | import UIKit.UIGeometry
8 | #endif
9 | // MARK: ===================================工具类:初始化闭包=========================================
10 | public protocol Then {}
11 |
12 | extension Then where Self: Any {
13 |
14 | @inlinable
15 | public func with(_ block: (inout Self) throws -> Void) rethrows -> Self {
16 | var copy = self
17 | try block(©)
18 | return copy
19 | }
20 |
21 | @inlinable
22 | public func `do`(_ block: (Self) throws -> Void) rethrows {
23 | try block(self)
24 | }
25 |
26 | }
27 |
28 | extension Then where Self: AnyObject {
29 |
30 | @inlinable
31 | public func then(_ block: (Self) throws -> Void) rethrows -> Self {
32 | try block(self)
33 | return self
34 | }
35 |
36 | }
37 |
38 | extension NSObject: Then {}
39 |
40 | #if !os(Linux)
41 | extension CGPoint: Then {}
42 | extension CGRect: Then {}
43 | extension CGSize: Then {}
44 | extension CGVector: Then {}
45 | #endif
46 |
47 | extension Array: Then {}
48 | extension Dictionary: Then {}
49 | extension Set: Then {}
50 |
51 | #if os(iOS) || os(tvOS)
52 | extension UIEdgeInsets: Then {}
53 | extension UIOffset: Then {}
54 | extension UIRectEdge: Then {}
55 | #endif
56 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/Util/Version.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Version.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2021/3/25.
6 | // Copyright © 2021 狄烨 . All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | // MARK: ===================================工具类:iOS系统版本号对比=========================================
12 | public struct Version {
13 |
14 | public let major: Int
15 | public let minor: Int
16 | public let patch: Int
17 |
18 | /// 默认初始化,当前系统的iOS版本号
19 | public init() {
20 | major = ProcessInfo.processInfo.operatingSystemVersion.majorVersion
21 | minor = ProcessInfo.processInfo.operatingSystemVersion.minorVersion
22 | patch = ProcessInfo.processInfo.operatingSystemVersion.patchVersion
23 | }
24 |
25 | /// 使用自定义的版本号初始化
26 | /// - Parameters:
27 | /// - major: 版本号
28 | /// - minor: 版本号
29 | /// - patch: 版本号
30 | public init(_ major: Int, _ minor: Int, _ patch: Int) {
31 | self.major = major
32 | self.minor = minor
33 | self.patch = patch
34 | }
35 | }
36 |
37 | extension Version: Comparable {
38 |
39 | fileprivate static func compare(lhs: T, rhs: T) -> ComparisonResult {
40 | if lhs < rhs {
41 | return .orderedAscending
42 | } else if lhs > rhs {
43 | return .orderedDescending
44 | } else {
45 | return .orderedSame
46 | }
47 | }
48 |
49 | /// 系统版本号比对
50 | /// - Parameters:
51 | /// - lhs: 左
52 | /// - rhs: 右
53 | /// - Returns: true/false
54 | public static func == (lhs: Version, rhs: Version) -> Bool {
55 | return lhs.major == rhs.major && lhs.minor == rhs.minor && lhs.patch == rhs.patch
56 | }
57 |
58 | /// 系统版本号比对
59 | /// - Parameters:
60 | /// - lhs: 左
61 | /// - rhs: 右
62 | /// - Returns: true/false
63 | public static func < (lhs: Version, rhs: Version) -> Bool {
64 | let majorComparison = Version.compare(lhs: lhs.major, rhs: rhs.major)
65 | if majorComparison != .orderedSame {
66 | return majorComparison == .orderedAscending
67 | }
68 |
69 | let minorComparison = Version.compare(lhs: lhs.minor, rhs: rhs.minor)
70 | if minorComparison != .orderedSame {
71 | return minorComparison == .orderedAscending
72 | }
73 |
74 | let patchComparison = Version.compare(lhs: lhs.patch, rhs: rhs.patch)
75 | if patchComparison != .orderedSame {
76 | return patchComparison == .orderedAscending
77 | }
78 |
79 | return false
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftBrick/Sources/SwiftBrick/ViewFactory/InsetLabel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InsetLabel.swift
3 | // SwiftBrick
4 | //
5 | // Created by iOS on 2021/3/16.
6 | // Copyright © 2021 狄烨 . All rights reserved.
7 | //
8 |
9 | import UIKit
10 | // MARK: ===================================工厂类:带内边距UILabel=========================================
11 | public class InsetLabel: UILabel {
12 | // 1.定义一个接受间距的属性
13 | public var textInsets = UIEdgeInsets.zero
14 |
15 | //2. 返回 label 重新计算过 text 的 rectangle
16 | public override func textRect(forBounds bounds: CGRect, limitedToNumberOfLines numberOfLines: Int) -> CGRect {
17 | guard text != nil else {
18 | return super.textRect(forBounds: bounds, limitedToNumberOfLines: numberOfLines)
19 | }
20 |
21 | let insetRect = bounds.inset(by: textInsets)
22 | let textRect = super.textRect(forBounds: insetRect, limitedToNumberOfLines: numberOfLines)
23 | let invertedInsets = UIEdgeInsets(top: -textInsets.top,
24 | left: -textInsets.left,
25 | bottom: -textInsets.bottom,
26 | right: -textInsets.right)
27 | return textRect.inset(by: invertedInsets)
28 | }
29 |
30 | //3. 绘制文本时,对当前 rectangle 添加间距
31 | public override func drawText(in rect: CGRect) {
32 | super.drawText(in: rect.inset(by: textInsets))
33 | }
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Eddie Kaiger
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/common/Attribute+Sequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AttributeConversions.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Eddie Kaiger on 11/23/16.
6 | // Copyright © 2016 Eddie Kaiger. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | An extension on dictionaries that allows us to convert a Foundation-based dictionary of attributes to an array of `Attribute`s.
13 | */
14 |
15 | extension Dictionary where Key == NSAttributedString.Key {
16 |
17 | /// Returns an array of `Attribute`s converted from the dictionary of attributes. Use this whenever you want to convert [NSAttributeStringKey: Any] to [Attribute].
18 | public var swiftyAttributes: [Attribute] {
19 | return map(Attribute.init)
20 | }
21 |
22 | }
23 |
24 | extension Sequence where Iterator.Element == Attribute {
25 |
26 | /// Returns the attribute dictionary required by Foundation's API for attributed strings. Use this whenever you need to convert [Attribute] to [String: Any].
27 | public var foundationAttributes: [NSAttributedString.Key: Any] {
28 | return reduce([NSAttributedString.Key: Any]()) { dictionary, attribute in
29 | var dict = dictionary
30 | dict[attribute.keyName] = attribute.foundationValue
31 | return dict
32 | }
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/common/Ligatures.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Ligatures.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Eddie Kaiger on 10/5/16.
6 | // Copyright © 2016 Eddie Kaiger. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Ligatures cause specific character combinations to be rendered using a single custom glyph that corresponds to those characters.
13 | */
14 | public enum Ligatures: Int {
15 |
16 | /// Correspond to no ligatures.
17 | case none
18 |
19 | /// Corresponds to the use of the default ligatures.
20 | case `default`
21 | }
22 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/common/NSString+SwiftyAttributes.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+SwiftyAttributes.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Roman Podymov on 26/05/19.
6 | // Copyright © 2019 Roman Podymov. All rights reserved.
7 | //
8 |
9 | #if os(macOS)
10 | import AppKit
11 | public typealias Point = NSPoint
12 | public typealias Size = NSSize
13 | public typealias Rect = NSRect
14 | public typealias DrawingOptions = NSString.DrawingOptions
15 | #else
16 | import UIKit
17 | public typealias Point = CGPoint
18 | public typealias Size = CGSize
19 | public typealias Rect = CGRect
20 | public typealias DrawingOptions = NSStringDrawingOptions
21 | #endif
22 |
23 | public typealias DrawingContext = NSStringDrawingContext
24 |
25 | extension NSString {
26 |
27 | /**
28 | Get string size with the specified attributes.
29 |
30 | - parameter attrs: The attributes to use.
31 | */
32 | public func swiftySize(withSwiftyAttributes attrs: [Attribute]? = nil) -> Size {
33 | return size(withAttributes: attrs?.foundationAttributes)
34 | }
35 |
36 | /**
37 | Get string bounding rectangle with the specified attributes.
38 |
39 | - parameter size: Size of bounding rectangle.
40 | - parameter options: Aditional options.
41 | - parameter swiftyAttributes: The attributes to use.
42 | - parameter context: Drawing context.
43 | */
44 | public func swiftyBoundingRect(with size: Size, options: DrawingOptions = [], swiftyAttributes: [Attribute]? = nil, context: DrawingContext?) -> Rect {
45 | return boundingRect(with: size, options: options, attributes: swiftyAttributes?.foundationAttributes, context: context)
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/common/Operators.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Operators.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Eddie Kaiger on 10/25/16.
6 | // Copyright © 2016 Eddie Kaiger. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Overloaded addition operator for attributed strings. Creates a concatenated NSAttributedString.
13 | */
14 | public func + (lhs: NSAttributedString, rhs: NSAttributedString) -> NSMutableAttributedString {
15 | let combinedString = lhs.mutableCopy() as! NSMutableAttributedString
16 | combinedString.append(rhs)
17 | return combinedString
18 | }
19 |
20 | /**
21 | Addition and assign operator. Creates a concatenated string and assigns it to the left value.
22 | */
23 | public func += (lhs: inout NSAttributedString, rhs: NSAttributedString) {
24 | lhs = lhs + rhs
25 | }
26 |
27 | public func += (lhs: inout NSMutableAttributedString, rhs: NSAttributedString) {
28 | lhs = lhs + rhs
29 | }
30 |
31 | public func += (lhs: inout NSAttributedString, rhs: NSMutableAttributedString) {
32 | lhs = lhs + rhs
33 | }
34 |
35 | public func += (lhs: inout NSMutableAttributedString, rhs: NSMutableAttributedString) {
36 | lhs = lhs + rhs
37 | }
38 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/common/SwiftyAttributedStringBuilder.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SwiftyAttributedStringBuilder.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Roman Podymov on 09/09/21.
6 | // Copyright © 2021 Roman Podymov. All rights reserved.
7 | //
8 |
9 | #if swift(>=5.4)
10 | import Foundation
11 |
12 | public protocol AttributesProvider {
13 | var attributes: [Attribute] { get }
14 | }
15 |
16 | extension Attribute: AttributesProvider {
17 | public var attributes: [Attribute] { [self] }
18 | }
19 |
20 | extension Array: AttributesProvider where Element == Attribute {
21 | public var attributes: [Attribute] { self }
22 | }
23 |
24 | @resultBuilder
25 | public struct SwiftyAttributedStringBuilder {
26 | public static func buildBlock(_ components: AttributesProvider...) -> [Attribute] {
27 | components.flatMap { $0.attributes }
28 | }
29 |
30 | public static func buildEither(first components: [AttributesProvider]) -> [Attribute] {
31 | components.flatMap { $0.attributes }
32 | }
33 |
34 | public static func buildEither(second components: [AttributesProvider]) -> [Attribute] {
35 | components.flatMap { $0.attributes }
36 | }
37 |
38 | public static func buildOptional(_ components: [Attribute]?) -> [Attribute] {
39 | components?.flatMap { $0.attributes } ?? []
40 | }
41 |
42 | public static func buildFinalResult(_ components: [Attribute]) -> [NSAttributedString.Key: Any] {
43 | dictionary(from: components)
44 | }
45 | }
46 | #endif
47 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/common/TextEffect.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TextEffect.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Eddie Kaiger on 10/28/16.
6 | // Copyright © 2016 Eddie Kaiger. All rights reserved.
7 | //
8 |
9 | #if os(macOS)
10 | import AppKit
11 | #else
12 | import UIKit
13 | #endif
14 |
15 | /**
16 | An enum describing the possible values for text effects on attributed strings.
17 | */
18 | public enum TextEffect: RawRepresentable {
19 |
20 | /// A graphical text effect giving glyphs the appearance of letterpress printing, in which type is pressed into the paper.
21 | case letterPressStyle
22 |
23 | public init?(rawValue: String) {
24 | switch rawValue {
25 | case NSAttributedString.TextEffectStyle.letterpressStyle.rawValue:
26 | self = .letterPressStyle
27 | default:
28 | return nil
29 | }
30 | }
31 |
32 | public var rawValue: String {
33 | switch self {
34 | case .letterPressStyle:
35 | return NSAttributedString.TextEffectStyle.letterpressStyle.rawValue
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/common/VerticalGlyphForm.swift:
--------------------------------------------------------------------------------
1 | //
2 | // VerticalGlyphForm.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Eddie Kaiger on 11/16/16.
6 | // Copyright © 2016 Eddie Kaiger. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | An enum to indicate horizontal or vertical writing direction. On iOS, only horizontal form is valid.
13 | */
14 | public enum VerticalGlyphForm: Int {
15 |
16 | /// Horizontal writing direction.
17 | case horizontal = 0
18 |
19 | #if os(macOS)
20 | /// Vertical writing direction.
21 | case vertical = 1
22 | #endif
23 | }
24 |
--------------------------------------------------------------------------------
/Example/Pods/SwiftyAttributes/SwiftyAttributes/Sources/iOS_tvOS/UIKit+SwiftyAttributes.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIKit+SwiftyAttributes.swift
3 | // SwiftyAttributes
4 | //
5 | // Created by Roman Podymov on 26/05/19.
6 | // Copyright © 2019 Roman Podymov. All rights reserved.
7 | //
8 |
9 | #if os(macOS)
10 | #elseif os(watchOS)
11 | #else
12 | import UIKit
13 | extension UINavigationBar {
14 |
15 | /// A swifty wrapper for UINavigationBar.titleTextAttributes. Use it if you prefer [Attribute] to [NSAttributedString.Key:Any].
16 | public var swiftyTitleTextAttributes: [Attribute]? {
17 | set {
18 | titleTextAttributes = newValue?.foundationAttributes
19 | }
20 |
21 | get {
22 | return titleTextAttributes?.swiftyAttributes
23 | }
24 | }
25 |
26 | /// A swifty wrapper for UINavigationBar.largeTitleTextAttributes. Use it if you prefer [Attribute] to [NSAttributedString.Key:Any].
27 | #if os(iOS)
28 | @available(iOS 11, *)
29 | public var swiftyLargeTitleTextAttributes: [Attribute]? {
30 | set {
31 | largeTitleTextAttributes = newValue?.foundationAttributes
32 | }
33 |
34 | get {
35 | return largeTitleTextAttributes?.swiftyAttributes
36 | }
37 | }
38 | #endif
39 | }
40 | #endif
41 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 6.5.12
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_IQKeyboardManagerSwift : NSObject
3 | @end
4 | @implementation PodsDummy_IQKeyboardManagerSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double IQKeyboardManagerSwiftVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char IQKeyboardManagerSwiftVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
10 | PODS_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManagerSwift
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module IQKeyboardManagerSwift {
2 | umbrella header "IQKeyboardManagerSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
10 | PODS_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManagerSwift
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/KeyboardListener/KeyboardListener-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/KeyboardListener/KeyboardListener-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_KeyboardListener : NSObject
3 | @end
4 | @implementation PodsDummy_KeyboardListener
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/KeyboardListener/KeyboardListener-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/KeyboardListener/KeyboardListener-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double KeyboardListenerVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char KeyboardListenerVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/KeyboardListener/KeyboardListener.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KeyboardListener
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/KeyboardListener
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/KeyboardListener/KeyboardListener.modulemap:
--------------------------------------------------------------------------------
1 | framework module KeyboardListener {
2 | umbrella header "KeyboardListener-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/KeyboardListener/KeyboardListener.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KeyboardListener
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/KeyboardListener
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
3 | ${BUILT_PRODUCTS_DIR}/KeyboardListener/KeyboardListener.framework
4 | ${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
5 | ${BUILT_PRODUCTS_DIR}/SwiftBrick/SwiftBrick.framework
6 | ${BUILT_PRODUCTS_DIR}/SwiftShow/SwiftShow.framework
7 | ${BUILT_PRODUCTS_DIR}/SwiftyAttributes/SwiftyAttributes.framework
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KeyboardListener.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftBrick.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftShow.framework
6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyAttributes.framework
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
3 | ${BUILT_PRODUCTS_DIR}/KeyboardListener/KeyboardListener.framework
4 | ${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
5 | ${BUILT_PRODUCTS_DIR}/SwiftBrick/SwiftBrick.framework
6 | ${BUILT_PRODUCTS_DIR}/SwiftShow/SwiftShow.framework
7 | ${BUILT_PRODUCTS_DIR}/SwiftyAttributes/SwiftyAttributes.framework
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KeyboardListener.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftBrick.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftShow.framework
6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyAttributes.framework
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_ExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_ExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/KeyboardListener" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftBrick" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftShow" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyAttributes"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/KeyboardListener/KeyboardListener.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftBrick/SwiftBrick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftShow/SwiftShow.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyAttributes/SwiftyAttributes.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
8 | OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManagerSwift" -framework "KeyboardListener" -framework "QuartzCore" -framework "SnapKit" -framework "SwiftBrick" -framework "SwiftShow" -framework "SwiftUI" -framework "SwiftyAttributes" -framework "UIKit" -framework "WebKit"
9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
10 | PODS_BUILD_DIR = ${BUILD_DIR}
11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
13 | PODS_ROOT = ${SRCROOT}/Pods
14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_Example {
2 | umbrella header "Pods-Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/KeyboardListener" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftBrick" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftShow" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyAttributes"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/KeyboardListener/KeyboardListener.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftBrick/SwiftBrick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftShow/SwiftShow.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyAttributes/SwiftyAttributes.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
8 | OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManagerSwift" -framework "KeyboardListener" -framework "QuartzCore" -framework "SnapKit" -framework "SwiftBrick" -framework "SwiftShow" -framework "SwiftUI" -framework "SwiftyAttributes" -framework "UIKit" -framework "WebKit"
9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
10 | PODS_BUILD_DIR = ${BUILD_DIR}
11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
13 | PODS_ROOT = ${SRCROOT}/Pods
14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.6.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SnapKit : NSObject
3 | @end
4 | @implementation PodsDummy_SnapKit
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SnapKitVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SnapKitVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit.modulemap:
--------------------------------------------------------------------------------
1 | framework module SnapKit {
2 | umbrella header "SnapKit-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/ResourceBundle-SwiftBrick-SwiftBrick-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 2.4.5
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/SwiftBrick-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.4.5
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/SwiftBrick-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SwiftBrick : NSObject
3 | @end
4 | @implementation PodsDummy_SwiftBrick
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/SwiftBrick-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/SwiftBrick-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SwiftBrickVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SwiftBrickVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/SwiftBrick.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftBrick
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "SwiftUI" -framework "UIKit" -framework "WebKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
10 | PODS_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftBrick
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/SwiftBrick.modulemap:
--------------------------------------------------------------------------------
1 | framework module SwiftBrick {
2 | umbrella header "SwiftBrick-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftBrick/SwiftBrick.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftBrick
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "SwiftUI" -framework "UIKit" -framework "WebKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
10 | PODS_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftBrick
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftShow/SwiftShow-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.7.6
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftShow/SwiftShow-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SwiftShow : NSObject
3 | @end
4 | @implementation PodsDummy_SwiftShow
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftShow/SwiftShow-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftShow/SwiftShow-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SwiftShowVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SwiftShowVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftShow/SwiftShow.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftShow
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
6 | OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
11 | PODS_ROOT = ${SRCROOT}
12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
15 | SKIP_INSTALL = YES
16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftShow/SwiftShow.modulemap:
--------------------------------------------------------------------------------
1 | framework module SwiftShow {
2 | umbrella header "SwiftShow-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftShow/SwiftShow.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftShow
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
6 | OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
11 | PODS_ROOT = ${SRCROOT}
12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
15 | SKIP_INSTALL = YES
16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftyAttributes/SwiftyAttributes-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.3.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftyAttributes/SwiftyAttributes-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SwiftyAttributes : NSObject
3 | @end
4 | @implementation PodsDummy_SwiftyAttributes
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftyAttributes/SwiftyAttributes-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftyAttributes/SwiftyAttributes-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SwiftyAttributesVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SwiftyAttributesVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftyAttributes/SwiftyAttributes.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyAttributes
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyAttributes
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftyAttributes/SwiftyAttributes.modulemap:
--------------------------------------------------------------------------------
1 | framework module SwiftyAttributes {
2 | umbrella header "SwiftyAttributes-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftyAttributes/SwiftyAttributes.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyAttributes
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyAttributes
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/SwiftShow.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/SwiftShow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/SwiftShow.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/SwiftShow.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/SwiftShow/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // SwiftShow
4 | //
5 | // Created by iOS on 2023/5/11.
6 | //
7 |
8 | import UIKit
9 | import IQKeyboardManagerSwift
10 | @main
11 | class AppDelegate: UIResponder, UIApplicationDelegate {
12 |
13 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
14 | IQKeyboardManager.shared.enable = true
15 | return true
16 | }
17 |
18 | // MARK: UISceneSession Lifecycle
19 |
20 | @available(iOS 13.0, *)
21 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
22 | // Called when a new scene session is being created.
23 | // Use this method to select a configuration to create the new scene with.
24 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
25 | }
26 | @available(iOS 13.0, *)
27 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) {
28 | // Called when the user discards a scene session.
29 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
30 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
31 | }
32 |
33 |
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/Loading.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "loading_200x194_01@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/Loading.imageset/loading_200x194_01@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/Loading.imageset/loading_200x194_01@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_0.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_1@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_0.imageset/icon_kangaroo_global_loading_1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_0.imageset/icon_kangaroo_global_loading_1@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_1@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_1.imageset/icon_kangaroo_global_loading_1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_1.imageset/icon_kangaroo_global_loading_1@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_10.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_10@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_10.imageset/icon_kangaroo_global_loading_10@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_10.imageset/icon_kangaroo_global_loading_10@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_11.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_11@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_11.imageset/icon_kangaroo_global_loading_11@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_11.imageset/icon_kangaroo_global_loading_11@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_12.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_12@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_12.imageset/icon_kangaroo_global_loading_12@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_12.imageset/icon_kangaroo_global_loading_12@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_13.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_13@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_13.imageset/icon_kangaroo_global_loading_13@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_13.imageset/icon_kangaroo_global_loading_13@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_14.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_14@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_14.imageset/icon_kangaroo_global_loading_14@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_14.imageset/icon_kangaroo_global_loading_14@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_15.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_15@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_15.imageset/icon_kangaroo_global_loading_15@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_15.imageset/icon_kangaroo_global_loading_15@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_2@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_2.imageset/icon_kangaroo_global_loading_2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_2.imageset/icon_kangaroo_global_loading_2@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_3@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_3.imageset/icon_kangaroo_global_loading_3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_3.imageset/icon_kangaroo_global_loading_3@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_4.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_4@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_4.imageset/icon_kangaroo_global_loading_4@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_4.imageset/icon_kangaroo_global_loading_4@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_5.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_5@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_5.imageset/icon_kangaroo_global_loading_5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_5.imageset/icon_kangaroo_global_loading_5@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_6.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_6@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_6.imageset/icon_kangaroo_global_loading_6@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_6.imageset/icon_kangaroo_global_loading_6@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_7.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_7@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_7.imageset/icon_kangaroo_global_loading_7@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_7.imageset/icon_kangaroo_global_loading_7@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_8.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_8@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_8.imageset/icon_kangaroo_global_loading_8@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_8.imageset/icon_kangaroo_global_loading_8@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_9.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_kangaroo_global_loading_9@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_9.imageset/icon_kangaroo_global_loading_9@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/icon_kangaroo_global_loading_9.imageset/icon_kangaroo_global_loading_9@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/share_haoyou_btn.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "profile_ic_share_weixin@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "profile_ic_share_weixin@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/share_haoyou_btn.imageset/profile_ic_share_weixin@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/share_haoyou_btn.imageset/profile_ic_share_weixin@2x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/share_haoyou_btn.imageset/profile_ic_share_weixin@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/share_haoyou_btn.imageset/profile_ic_share_weixin@3x.png
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/timg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "timg.jpeg",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Assets.xcassets/timg.imageset/timg.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Example/SwiftShow/Assets.xcassets/timg.imageset/timg.jpeg
--------------------------------------------------------------------------------
/Example/SwiftShow/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Example/SwiftShow/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSAppTransportSecurity
6 |
7 | NSAllowsArbitraryLoads
8 |
9 |
10 | UIApplicationSceneManifest
11 |
12 | UIApplicationSupportsMultipleScenes
13 |
14 | UISceneConfigurations
15 |
16 | UIWindowSceneSessionRoleApplication
17 |
18 |
19 | UISceneConfigurationName
20 | Default Configuration
21 | UISceneDelegateClassName
22 | $(PRODUCT_MODULE_NAME).SceneDelegate
23 | UISceneStoryboardFile
24 | Main
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Example/SwiftShow/LViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LViewController.swift
3 | // SwiftShow
4 | //
5 | // Created by iOS on 2020/8/18.
6 | // Copyright © 2020 iOS. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import SwiftBrick
11 | import SwiftShow
12 | class LViewController: UIViewController, CAAnimationDelegate, PresentedViewType{
13 | var presentedViewComponent: PresentedViewComponent?
14 |
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 | view.backgroundColor = .white
18 | // Do any additional setup after loading the view.
19 | let colors = [UIColor.clear,UIColor.purple]
20 | let imageView = UIImageView(frame: .init(x: 0, y: 0, width: 200, height: 200))
21 | imageView.image = UIImage(named: "Loading")
22 |
23 |
24 | let maskView = UIView(frame: .init(x: 100, y: 100, width: 200, height: 200))
25 | view.addSubview(maskView)
26 | maskView.backgroundColor = .gray
27 |
28 | let gradient: CAGradientLayer = colors.gradient { gradient in
29 | gradient.startPoint = CGPoint.init(x: 0, y: 0)
30 | gradient.endPoint = CGPoint.init(x: 0, y: 1)
31 | return gradient
32 | }
33 | gradient.frame = maskView.bounds
34 | gradient.drawsAsynchronously = true
35 | maskView.layer.insertSublayer(gradient, at: 0)
36 |
37 | gradient.locations = [1,1]
38 |
39 | let animation = CABasicAnimation.init(keyPath: "locations")
40 | animation.delegate = self
41 | animation.timingFunction = CAMediaTimingFunction.init(name: .easeInEaseOut)
42 | animation.duration = 1.2
43 | animation.fromValue = [1,1]
44 | animation.toValue = [0,0]
45 | animation.fillMode = .forwards
46 | animation.isRemovedOnCompletion = false
47 |
48 | let group = CAAnimationGroup.init()
49 | group.animations = [animation]
50 | group.duration = 1.2
51 | group.repeatCount = HUGE
52 | group.autoreverses = true
53 | gradient.add(group, forKey: "animateLocations")
54 |
55 | maskView.mask = imageView
56 |
57 | }
58 |
59 |
60 | /*
61 | // MARK: - Navigation
62 |
63 | // In a storyboard-based application, you will often want to do a little preparation before navigation
64 | override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
65 | // Get the new view controller using segue.destination.
66 | // Pass the selected object to the new view controller.
67 | }
68 | */
69 |
70 | }
71 |
--------------------------------------------------------------------------------
/Example/SwiftShow/SceneDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SceneDelegate.swift
3 | // SwiftShow
4 | //
5 | // Created by iOS on 2023/5/11.
6 | //
7 |
8 | import UIKit
9 | @available(iOS 13.0, *)
10 | class SceneDelegate: UIResponder, UIWindowSceneDelegate {
11 |
12 | var window: UIWindow?
13 |
14 | func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
15 | // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
16 | // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
17 | // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
18 | guard let _ = (scene as? UIWindowScene) else { return }
19 | }
20 |
21 | func sceneDidDisconnect(_ scene: UIScene) {
22 | // Called as the scene is being released by the system.
23 | // This occurs shortly after the scene enters the background, or when its session is discarded.
24 | // Release any resources associated with this scene that can be re-created the next time the scene connects.
25 | // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
26 | }
27 |
28 | func sceneDidBecomeActive(_ scene: UIScene) {
29 | // Called when the scene has moved from an inactive state to an active state.
30 | // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
31 | }
32 |
33 | func sceneWillResignActive(_ scene: UIScene) {
34 | // Called when the scene will move from an active state to an inactive state.
35 | // This may occur due to temporary interruptions (ex. an incoming phone call).
36 | }
37 |
38 | func sceneWillEnterForeground(_ scene: UIScene) {
39 | // Called as the scene transitions from the background to the foreground.
40 | // Use this method to undo the changes made on entering the background.
41 | }
42 |
43 | func sceneDidEnterBackground(_ scene: UIScene) {
44 | // Called as the scene transitions from the foreground to the background.
45 | // Use this method to save data, release shared resources, and store enough scene-specific state information
46 | // to restore the scene back to its current state.
47 | }
48 |
49 |
50 | }
51 |
52 |
--------------------------------------------------------------------------------
/Example/pod_install:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # 获取工程根目录
4 | fadir()
5 | {
6 | local this_dir=`pwd`
7 | local child_dir="$1"
8 | dirname "$child_dir"
9 | cd $this_dir
10 | }
11 | CUR_DIR=$(cd `dirname $0` && pwd -P )
12 |
13 | cd $CUR_DIR
14 |
15 | echo "当前文件路径 $CUR_DIR"
16 |
17 | pod install
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Example/pod_update:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # 获取工程根目录
4 | fadir()
5 | {
6 | local this_dir=`pwd`
7 | local child_dir="$1"
8 | dirname "$child_dir"
9 | cd $this_dir
10 | }
11 | CUR_DIR=$(cd `dirname $0` && pwd -P )
12 |
13 | cd $CUR_DIR
14 |
15 | echo "当前文件路径 $CUR_DIR"
16 |
17 | pod update
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Example/pod_update-no-repo:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # 获取工程根目录
4 | fadir()
5 | {
6 | local this_dir=`pwd`
7 | local child_dir="$1"
8 | dirname "$child_dir"
9 | cd $this_dir
10 | }
11 | CUR_DIR=$(cd `dirname $0` && pwd -P )
12 |
13 | cd $CUR_DIR
14 |
15 | echo "当前文件路径 $CUR_DIR"
16 |
17 | pod update --verbose --no-repo-update
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Image/Alert1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Alert1.png
--------------------------------------------------------------------------------
/Image/Alert2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Alert2.png
--------------------------------------------------------------------------------
/Image/Alert3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Alert3.png
--------------------------------------------------------------------------------
/Image/DropDown.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/DropDown.gif
--------------------------------------------------------------------------------
/Image/Loading1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Loading1.png
--------------------------------------------------------------------------------
/Image/Loading2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Loading2.png
--------------------------------------------------------------------------------
/Image/Loading3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Loading3.png
--------------------------------------------------------------------------------
/Image/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.2
2 |
3 | import PackageDescription
4 |
5 | let package = Package(
6 | name: "image",
7 | products: [],
8 | targets: []
9 | )
10 |
--------------------------------------------------------------------------------
/Image/Pop1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Pop1.gif
--------------------------------------------------------------------------------
/Image/Pop2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/Pop2.gif
--------------------------------------------------------------------------------
/Image/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/logo.png
--------------------------------------------------------------------------------
/Image/toast1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/toast1.png
--------------------------------------------------------------------------------
/Image/toast2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/toast2.png
--------------------------------------------------------------------------------
/Image/toast3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/toast3.png
--------------------------------------------------------------------------------
/Image/toast4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/toast4.png
--------------------------------------------------------------------------------
/Image/toast5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zjinhu/SwiftShow/53bb04a7e153f0507833e94e1634628695781994/Image/toast5.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2023 jackiehu <814030966@qq.com>
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Package.resolved:
--------------------------------------------------------------------------------
1 | {
2 | "object": {
3 | "pins": [
4 | {
5 | "package": "SnapKit",
6 | "repositoryURL": "https://github.com/SnapKit/SnapKit.git",
7 | "state": {
8 | "branch": null,
9 | "revision": "d458564516e5676af9c70b4f4b2a9178294f1bc6",
10 | "version": "5.0.1"
11 | }
12 | }
13 | ]
14 | },
15 | "version": 1
16 | }
17 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.2
2 | // The swift-tools-version declares the minimum version of Swift required to build this package.
3 |
4 | import PackageDescription
5 |
6 | let package = Package(
7 | name: "SwiftShow",
8 | platforms: [
9 | .iOS(.v11)
10 | ],
11 | products: [
12 | // Products define the executables and libraries produced by a package, and make them visible to other packages.
13 | .library(
14 | name: "SwiftShow",
15 | targets: ["SwiftShow"])
16 | ],
17 | dependencies: [
18 | // Dependencies declare other packages that this package depends on.
19 | // .package(url: /* package url */, from: "1.0.0"),
20 | .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.0")),
21 | ],
22 | targets: [
23 | // Targets are the basic building blocks of a package. A target can define a module or a test suite.
24 | // Targets can depend on other targets in this package, and on products in packages which this package depends on.
25 | .target(
26 | name: "SwiftShow",
27 | dependencies: ["SnapKit"]),
28 | ],
29 | swiftLanguageVersions: [
30 | .v5
31 | ]
32 | )
33 |
--------------------------------------------------------------------------------
/Sources/SwiftShow/Presentation/UIViewController+Presentation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+Presentation.swift
3 | // SwiftDialog
4 | //
5 | // Created by iOS on 2020/2/5.
6 | // Copyright © 2020 iOS. All rights reserved.
7 | //
8 |
9 |
10 | import Foundation
11 | import UIKit
12 | /// 遵守PresentationViewType协议的UIViewController
13 | public typealias PresentationViewController = UIViewController & PresentedViewType
14 |
15 | extension UIViewController {
16 |
17 | /// 自定义present方法
18 | public func presentViewController(_ viewController: PresentationViewController, animated: Bool = true) {
19 | viewController.modalPresentationStyle = .custom
20 | viewController.transitioningDelegate = self
21 | present(viewController, animated: animated, completion: nil)
22 | }
23 | }
24 |
25 | // MARK: - UIViewControllerTransitioningDelegate
26 | extension UIViewController: UIViewControllerTransitioningDelegate {
27 |
28 | public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
29 | return PresentationController(presentedViewController: presented, presenting: presenting)
30 | }
31 |
32 | public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
33 | guard let presentedVC = presented as? PresentedViewType else { return nil }
34 | return presentedVC.presentTransitionType.animation
35 | }
36 |
37 | public func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
38 | guard let dismissedVC = dismissed as? PresentedViewType else { return nil }
39 | return dismissedVC.dismissTransitionType.animation
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/Sources/SwiftShow/Show/CommonView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CommonView.swift
3 | // SwiftShow
4 | //
5 | // Created by 狄烨 on 2022/6/6.
6 | // Copyright © 2022 iOS. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | public class CommonView : UIStackView {
13 |
14 | lazy var imageView: UIImageView = {
15 | let vi = UIImageView()
16 | vi.contentMode = .scaleAspectFit
17 | return vi
18 | }()
19 |
20 | lazy var titleLabel: UILabel = {
21 | let lab = UILabel()
22 | lab.font = .systemFont(ofSize: 14, weight: .bold)
23 | lab.numberOfLines = 2
24 | return lab
25 | }()
26 |
27 | lazy var subtitleLabel: UILabel = {
28 | let lab = UILabel()
29 | lab.font = .systemFont(ofSize: 12, weight: .bold)
30 | lab.numberOfLines = 0
31 | lab.textColor = .systemGray
32 | return lab
33 | }()
34 |
35 | public init(title: String? = nil,
36 | subtitle: String? = nil,
37 | image: UIImage? = nil,
38 | imageType : ImageLayoutType = .top,
39 | spaceImage: CGFloat = 5,
40 | spaceText: CGFloat = 5) {
41 |
42 | super.init(frame: CGRect.zero)
43 |
44 | axis = imageType == .left ? .horizontal : .vertical
45 | spacing = image != nil && title != nil ? spaceImage : 0
46 | alignment = .center
47 | distribution = .fill
48 |
49 | if let image = image{
50 | imageView.image = image
51 | NSLayoutConstraint.activate([
52 | imageView.widthAnchor.constraint(greaterThanOrEqualToConstant: 28),
53 | imageView.heightAnchor.constraint(greaterThanOrEqualToConstant: 28)
54 | ])
55 | addArrangedSubview(imageView)
56 | }
57 | if let title = title {
58 | let vStack = UIStackView()
59 | vStack.axis = .vertical
60 | vStack.spacing = subtitle?.count == 0 ? 0 : spaceText
61 | vStack.alignment = .center
62 |
63 | titleLabel.text = title
64 | vStack.addArrangedSubview(titleLabel)
65 |
66 | if let subtitle = subtitle {
67 | subtitleLabel.text = subtitle
68 | vStack.addArrangedSubview(subtitleLabel)
69 | }
70 |
71 | addArrangedSubview(vStack)
72 | }
73 |
74 | }
75 |
76 | required init(coder: NSCoder) {
77 | fatalError("init(coder:) has not been implemented")
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/Sources/SwiftShow/Show/ToastView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ToastView.swift
3 | // SwiftShow
4 | //
5 | // Created by iOS on 2020/1/16.
6 | // Copyright © 2020 iOS. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import SnapKit
11 |
12 | class ToastView: UIView {
13 |
14 | required init?(coder: NSCoder) {
15 | fatalError("init(coder:) has not been implemented")
16 | }
17 |
18 | init(title: String,
19 | subTitle: String? = nil,
20 | image: UIImage? = nil,
21 | config : ShowToastConfig) {
22 |
23 | super.init(frame: CGRect.zero)
24 |
25 | let containerView = UIView()
26 | addSubview(containerView)
27 | containerView.backgroundColor = config.bgColor
28 | containerView.layer.cornerRadius = config.cornerRadius
29 | if config.shadowColor != UIColor.clear.cgColor {
30 | containerView.layer.shadowColor = config.shadowColor
31 | containerView.layer.shadowOpacity = config.shadowOpacity
32 | containerView.layer.shadowRadius = config.shadowRadius
33 | containerView.layer.shadowOffset = CGSize.zero
34 | }
35 | containerView.snp.makeConstraints { (make) in
36 | make.top.left.right.bottom.equalToSuperview()
37 | }
38 | let view = CommonView(title: title,
39 | subtitle: subTitle,
40 | image: image,
41 | imageType: config.imageType,
42 | spaceImage: config.spaceImage,
43 | spaceText: config.spaceText)
44 |
45 | view.titleLabel.textColor = config.titleColor
46 | view.titleLabel.font = config.titleFont
47 |
48 | view.subtitleLabel.textColor = config.subTitleColor
49 | view.subtitleLabel.font = config.subTitleFont
50 |
51 | containerView.addSubview(view)
52 |
53 | view.snp.makeConstraints { (make) in
54 | make.top.left.equalToSuperview().offset(config.padding)
55 | make.bottom.right.equalToSuperview().offset(-config.padding)
56 | make.width.lessThanOrEqualTo(config.maxWidth)
57 | make.height.lessThanOrEqualTo(config.maxHeight)
58 | }
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/SwiftShow.podspec:
--------------------------------------------------------------------------------
1 |
2 | Pod::Spec.new do |s|
3 | s.name = 'SwiftShow'
4 | s.version = '0.7.6'
5 | s.summary = '弹窗组件.'
6 |
7 | s.description = <<-DESC
8 | 工具.
9 | DESC
10 |
11 | s.homepage = 'https://github.com/jackiehu/'
12 | s.license = { :type => 'MIT', :file => 'LICENSE' }
13 | s.author = { 'HU' => '814030966@qq.com' }
14 | s.source = { :git => 'https://github.com/jackiehu/SwiftShow.git', :tag => s.version.to_s }
15 |
16 | s.ios.deployment_target = "11.0"
17 | s.swift_versions = ['5.5','5.4','5.3','5.2','5.1','5.0','4.2']
18 | s.requires_arc = true
19 |
20 | s.subspec 'Show' do |ss|
21 | ss.source_files = 'Sources/SwiftShow/Show/**/*'
22 | ss.dependency 'SnapKit'
23 | end
24 |
25 | s.subspec 'Presentation' do |ss|
26 | ss.source_files = 'Sources/SwiftShow/Presentation/**/*'
27 | ss.dependency 'SwiftShow/Show'
28 | end
29 |
30 | s.default_subspec = 'Show'
31 | end
32 |
--------------------------------------------------------------------------------
/fastlane/Fastfile:
--------------------------------------------------------------------------------
1 | lane :release_pod do |options|
2 |
3 | target_version = options[:t]
4 |
5 | target_project = options[:p]
6 |
7 | target_repo = options[:r]
8 |
9 | update_message = options[:m]
10 |
11 | spec_path = "#{target_project}.podspec"
12 |
13 | # git pull
14 | git_pull
15 |
16 | # 确认是 master 分支
17 | ensure_git_branch
18 | # 确认是 main 分支
19 | # ensure_git_branch(
20 | # branch: 'main'
21 | # )
22 |
23 | # 修改 spec 为即将发布的版本
24 | version_bump_podspec(path: spec_path, version_number: target_version)
25 |
26 | # 将本地代码加入本地仓库里
27 | git_add(path: '.')
28 |
29 | # 提交修改到本地仓库
30 | git_commit(path: '.', message: update_message)
31 |
32 | # 在push之前, 查看spec是否配置有问题,验证 spec 文件
33 | pod_lib_lint(verbose: true, allow_warnings: true)
34 | # 私有仓需要添加验证仓Sources
35 | # pod_lib_lint(verbose: true, allow_warnings: true, sources: 'https://github.com/CocoaPods/Specs.git,https://codeup.aliyun.com/6279dbf7487c500c27f5744e/group1/ModuleSpace.git')
36 |
37 |
38 | # 推送master分支的代码到名称为origin的远程仓库
39 | push_to_git_remote
40 |
41 | # 检查对于 tag 是否已经存在
42 | if git_tag_exists(tag: target_version)
43 | # 删除对应 tag
44 | remove_git_tag(tag: target_version)
45 | end
46 |
47 | # 添加 tag
48 | add_git_tag(tag: target_version)
49 |
50 | # 提交 tag
51 | push_git_tags
52 |
53 |
54 | # # pod trunk push 'spec_path'
55 | # pod_push(path: spec_path, allow_warnings: true,verbose: true)
56 | # 检查是否传了 repo 参数
57 | if target_repo
58 | # pod repo push 'target_repo' 'spec_path'
59 |
60 | pod_push(path: spec_path, repo: target_repo, allow_warnings: true, verbose: true)
61 |
62 | else
63 | # pod trunk push 'spec_path'
64 |
65 | pod_push(path: spec_path, allow_warnings: true, verbose: true)
66 |
67 | end
68 | end
--------------------------------------------------------------------------------
/fastlane/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.2
2 |
3 | import PackageDescription
4 |
5 | let package = Package(
6 | name: "fastlane",
7 | products: [],
8 | targets: []
9 | )
10 |
--------------------------------------------------------------------------------
/fastlane/README.md:
--------------------------------------------------------------------------------
1 | fastlane documentation
2 | ----
3 |
4 | # Installation
5 |
6 | Make sure you have the latest version of the Xcode command line tools installed:
7 |
8 | ```sh
9 | xcode-select --install
10 | ```
11 |
12 | For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
13 |
14 | # Available Actions
15 |
16 | ### release_pod
17 |
18 | ```sh
19 | [bundle exec] fastlane release_pod
20 | ```
21 |
22 |
23 |
24 | ----
25 |
26 | This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
27 |
28 | More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
29 |
30 | The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
31 |
--------------------------------------------------------------------------------
/fastlane_pod:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # 计时
4 | SECONDS=0
5 | # 获取工程根目录
6 |
7 | fadir()
8 | {
9 | local this_dir=`pwd`
10 | local child_dir="$1"
11 | dirname "$child_dir"
12 | cd $this_dir
13 | }
14 | CUR_DIR=$(cd `dirname $0` && pwd -P )
15 | echo "当前文件路径 $CUR_DIR"
16 | cd $CUR_DIR
17 |
18 | echo "
19 | 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 "
20 | echo "
21 | 请选择要发布的podspec序号:"
22 |
23 | echo "
24 | (0) 退出
25 | "
26 |
27 | #查找文件
28 | a=1
29 | list=`find . -type f -name "*.podspec"`
30 | for i in $list
31 | do
32 | echo "($a) $i
33 | "
34 | array[$a]=$i
35 | a=$(($a+1))
36 | done
37 | echo "
38 | 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 "
39 | read input
40 |
41 | case $input in
42 |
43 | [1-9])
44 | # 处理文件名
45 | name1=${array[$input]}
46 | # echo "111$name1"
47 | # 截取掉/左边的
48 | name2=${name1#*/}
49 | # echo "222$name2"
50 | # 截取掉。后边的
51 | podspec=${name2%.*}
52 | # echo "333$podspec"
53 |
54 | echo "
55 | 🚀 已经选择仓库名称为:$podspec"
56 |
57 | read -p "
58 | 🚀 请输入版本号: " user_tags
59 |
60 | echo "
61 | 🚀 版本号: V $user_tags "
62 |
63 |
64 | read -p "
65 | 🚀 请输入更新内容(注意不要用空格): " update_message
66 |
67 | echo "
68 | 🚀 更新内容: $update_message "
69 |
70 | ;;
71 | 0)
72 | exit
73 | esac
74 |
75 |
76 | echo "
77 | 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉"
78 |
79 | echo "
80 | 是否发布pod到私有仓库?:"
81 |
82 | echo "
83 | (0) 不是
84 | "
85 | #查找文件
86 | b=1
87 | listRepo=`ls ~/.cocoapods/repos`
88 | for i in $listRepo
89 | do
90 | echo "($b) $i
91 | "
92 | arrayRepo[$b]=$i
93 | b=$(($b+1))
94 | done
95 | echo "🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉
96 | "
97 | read input
98 |
99 | case $input in
100 |
101 | [1-99])
102 |
103 | repo=${arrayRepo[$input]}
104 | echo "
105 | 🚀 已经选择Repo名称为:$repo
106 | "
107 |
108 | echo "
109 | 🚀 即将发布 V $user_tags 版本的 $podspec 到 $repo, 更新: $update_message
110 | "
111 | fastlane release_pod t:$user_tags p:$podspec r:$repo m:$update_message
112 | ;;
113 |
114 | 0)
115 |
116 | echo "
117 | 🚀 即将发布 V $user_tags 版本的 $podspec, 更新: $update_message
118 | "
119 | fastlane release_pod t:$user_tags p:$podspec m:$update_message
120 | ;;
121 | esac
122 |
123 | echo "🚀 总用时: ${SECONDS}s"
124 | exit
125 |
126 |
127 |
--------------------------------------------------------------------------------