中文版 | English Version
CXSwiftKit
provides the utilities and rich extensions of Swift language.
More content needs you to explore.
If you think it's okay, please give it a
star
- ApplePay
(Optional)
:This is used for Apple payment. - AVToolbox:This is used for audio and video format conversion.
- Base:Includes configuration, definition, and log output.
- Core:Includes APP resignature detection, obtaining device information, album operation, screen recording, screenshot detection, redirection, etc.
- Camera:This is used for iOS camera sampling data capture.
- DocumentPicker:This is used for system file operations.
- Extension:Includes the extensions of
Array、Dictionary、Int、Double、CGFloat、String、NSAttributedString、CALayer、NSObject、DispatchQueue、UIDevice、UIColor、UIImage、UIImageView、UIView、UIViewController, etc.
. - FileOperation:This is used for iOS sandbox file operations.
- KingfisherWrapper
(Optional)
:Kingfisher
's anti-theft chain settings,UIButton/UIImageView
's extensions is used to set the image, and wraps commonly used functions. - LiveGift:This is used to showcase small gifts for live streaming.
- OverlayView:This is used to pop up overlay views in all directions up, down, left, and right.
- Permissions:Various permissions for iOS, including
photo library, camera, microphone, location, Bluetooth, contacts, reminders, calendar, Siri, notifications, tracking, and more
. - Timer:Encapsulated
Dispatch Timer
andTimer
. - Transition:This is for switching transitional scene.
- Widget:The custom widgets.
- SDWebImageWrapper
(Optional)
:SDWebImage
's anti-theft chain settings and common functions encapsulation.
- Xcode 14.0+
- iOS 11.0, tvOS 11.0, macOS 10.15, watchOS 5.0
CXSwiftKit is available through CocoaPods. To install it, simply add the following line to your Podfile:
- CXSwiftKit
pod 'CXSwiftKit'
- ApplePay
pod 'CXSwiftKit/ApplePay'
- KingfisherWrapper
pod 'CXSwiftKit/KingfisherWrapper'
- SDWebImageWrapper
pod 'CXSwiftKit/SDWebImageWrapper'
CXSwiftKit
┣ ApplePay
┃ ┗ CXApplePayContext.swift // The implementation for Apple payment.
┃
┣ Base
┃ ┣
┃ ┣ CXConfig.swift // The configuration of this kit.
┃ ┣ CXDefines.swift // The definitions of this kit.
┃ ┣ CXLock.swift // Includes multi-thread locks(`CXUnfairLock, CXMutex, CXRecursiveMutex, CXSpin, CXConditionLock`).
┃ ┗ CXLogger.swift // Outputs logs to the console.
┃
┣ Core
┃ ┣ CXAppContext.swift
┃ ┣ CXDevice.swift // Used to provide some device informations.
┃ ┣ CXDeviceScreenMonitor.swift // Used to observe some changes of device screen.
┃ ┣ CXHaptics.swift // Some haptic feedback that works on iPhone 6 and up.
┃ ┣ CXImageBufferProcessor.swift // Used to process image buffer.
┃ ┣ CXPhotoLibraryOperator.swift // Used to operate the photo library.
┃ ┣ CXScreenRecorder.swift // The recorder that provides the ability to record audio and video of your app.
┃ ┣ CXSwiftUtils.swift
┃ ┣ CXSwipeInteractor.swift // Add swipe gesture for the view, and observe its action.
┃ ┗ CXTakeScreenshotDetector.swift // The detector for taking screenshot.
┃ ┣ AVToolbox
┃ ┃ ┣ CXAudioRecorder.swift // The audio recorder that records audio data to a file.
┃ ┃ ┣ CXAudioToolbox.swift // Used to handle audio format.
┃ ┃ ┣ CXAVGlobal.swift // The global methods for the exported position.
┃ ┃ ┣ CXAVToolbox.swift // Used to handle audio and video mix.
┃ ┃ ┗ CXVideoToolbox.swift // Used to convert mp4 video format.
┃ ┣ Camera
┃ ┃ ┣ AtomicWrapper.swift // Used to wrap atomic property.
┃ ┃ ┣ CXLiveCameraConfiguration.swift // The configuration for live camera.
┃ ┃ ┣ CXLiveCameraFrameCapturer.swift
┃ ┃ ┣ CXLiveCameraFrameRenderer.swift
┃ ┃ ┣ CXLiveCameraPreview.swift
┃ ┃ ┣ CXLiveCameraProtocol.swift
┃ ┃ ┣ CXScanProtocol.swift
┃ ┃ ┣ CXScanResult.swift
┃ ┃ ┗ CXScanWrapper.swift
┃ ┣ CustomOverlayView
┃ ┃ ┣ CXOverlayViewControllerWrapable.swift
┃ ┃ ┣ CXOverlayViewEx.swift
┃ ┃ ┗ CXOverlayViewWrapable.swift
┃ ┣ DocumentPicker // The document picker for iOS.
┃ ┃ ┣ CXDocument.swift
┃ ┃ ┣ CXDocumentDelegate.swift
┃ ┃ ┣ CXDocumentPicker.swift
┃ ┃ ┗ CXDocumentDelegate.swift
┃ ┣ LiveGift // Used to show live gifts.
┃ ┃ ┣ CXLiveGiftLabel.swift
┃ ┃ ┣ CXLiveGiftManager.swift
┃ ┃ ┣ CXLiveGiftModel.swift
┃ ┃ ┣ CXLiveGiftOperation.swift
┃ ┃ ┗ CXLiveGiftView.swift
┃ ┣ Permissions
┃ ┃ ┣ CXPermission.swift
┃ ┃ ┣ CXPermissionResult.swift
┃ ┃ ┣ CXPermissions.swift // Includes photos, camera, microphone, locationAlways, locationInUse, notification, bluetooth,
┃ ┃ ┃ // deviceBiometrics, devicePasscode, contacts, reminder, event, motion, siri, health, media, appTracking.
┃ ┃ ┣ CXPermissionStatus.swift
┃ ┃ ┣ CXPermissionType.swift
┃ ┣ Timer
┃ ┃ ┣ CXDispatchTimer.swift
┃ ┃ ┗ CXTimer.swift
┃ ┣ Transition // Views the demo in CXScalePresentAnimation.swift.
┃ ┃ ┣ CXScaleDismissAnimation.swift
┃ ┃ ┣ CXScalePresentAnimation.swift
┃ ┃ ┗ CXSwipeLeftInteractiveTransition.swift
┃ ┗ Widget
┃ ┣ CXCircleProgressButton.swift // The circle progress button for iOS or tvOS.
┃ ┗ CXVerticalSlider.swift // The vertical slider for iOS or tvOS.
┃
┣ Extension // Provides some rich extensions
┃ ┣ Application+Cx.swift
┃ ┣ Array+Cx.swift
┃ ┣ AVAsset+Cx.swift
┃ ┣ Button+Cx.swift
┃ ┣ CALayer+Cx.swift
┃ ┣ CGFloat+Cx.swift
┃ ┣ Color+Cx.swift
┃ ┣ CXAssociatedKey.swift // Includes the associated keys.
┃ ┣ CXConstraintMaker.swift
┃ ┣ CXGlobal.swift // Provides some global methods
┃ ┣ CXSwiftBase.swift // Declares a `CXSwiftBaseCompatible` protocol, etc. You can use `cx` in the app, e.g.: view.cx.right = 10
┃ ┣ Date+Cx.swift
┃ ┣ Device+Cx.swift
┃ ┣ Dictionary+Cx.swift
┃ ┣ DispatchQueue+Cx.swift
┃ ┣ Double+Cx.swift
┃ ┣ Font+Cx.swift
┃ ┣ Image+Cx.swift
┃ ┣ ImageView+Cx.swift
┃ ┣ Int+Cx.swift
┃ ┣ Label+Cx.swift
┃ ┣ NSAttributedString+Cx.swift
┃ ┣ NSObject+Cx.swift
┃ ┣ Optional+Cx.swift
┃ ┣ ScrollView+Cx.swift
┃ ┣ String+Cx.swift
┃ ┣ TableView+Cx.swift
┃ ┣ TextField+Cx.swift
┃ ┣ TextView+Cx.swift
┃ ┣ URL+Cx.swift
┃ ┣ View+Cx.swift
┃ ┗ ViewController+Cx.swift
┃
┣ FileOperation
┃ ┣ CXFileToolbox.swift // The file toolbox.
┃ ┣ CXLineReader.swift // Read text file line by line in efficient way.
┃ ┗ CXStreamReader.swift // The file descriptor accesses data associated with files.
┃
┣ KingfisherWrapper
┃ ┣ Button+kfwrapper.swift
┃ ┣ CXKingfisherReferer.swift // Anti theft chains for files such as images and videos, and so on.
┃ ┗ ImageView+kfwrapper.swift
┃
┗ SDWebImageWrapper
┗ SDWebImageWrapper.swift // The wrapper for SDWebImage.
- CXDownload - Realization of breakpoint transmission download with Swift, support Objective-C. Including large file download, background download, killing the process, continuing to download when restarting, setting the number of concurrent downloads, monitoring network changes and so on.
- MarsUIKit -
MarsUIKit
wraps some commonly used UI components. - RxListDataSource -
RxListDataSource
provides data sources for UITableView or UICollectionView. - CXNetwork-Moya -
CXNetwork-Moya
encapsulates a network request library with Moya and ObjectMapper.
To run the example project, clone the repo, and run pod install
from the Example directory first.
Teng Fei, hansen981@126.com
CXSwiftKit is available under the MIT license. See the LICENSE file for more info.