{"id":21373643,"url":"https://github.com/itenfay/CXSwiftKit","last_synced_at":"2025-07-13T08:30:27.199Z","repository":{"id":113234831,"uuid":"567599562","full_name":"itenfay/CXSwiftKit","owner":"itenfay","description":"提供Swift丰富的扩展和实用工具类(This provides the utilities and rich extensions of Swift.)。","archived":true,"fork":false,"pushed_at":"2024-11-17T09:12:35.000Z","size":35689,"stargazers_count":15,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-13T07:39:49.102Z","etag":null,"topics":["animations","augmented-reality","avtoolkit","emptydataset-swift","extension","extensions","ios","objc","objcective-c","permissions","progressbutton","rxswift","svga","svgaplayer","swift","timer","transition","transition-animation","verticalsliders","websocket"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itenfay.png","metadata":{"files":{"readme":"README-en.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-18T06:13:01.000Z","updated_at":"2025-04-18T03:36:50.000Z","dependencies_parsed_at":"2024-06-02T10:24:02.702Z","dependency_job_id":null,"html_url":"https://github.com/itenfay/CXSwiftKit","commit_stats":null,"previous_names":["itenfay/cxswiftkit","chenxing640/cxswiftkit"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/itenfay/CXSwiftKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itenfay%2FCXSwiftKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itenfay%2FCXSwiftKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itenfay%2FCXSwiftKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itenfay%2FCXSwiftKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itenfay","download_url":"https://codeload.github.com/itenfay/CXSwiftKit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itenfay%2FCXSwiftKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265109657,"owners_count":23712724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animations","augmented-reality","avtoolkit","emptydataset-swift","extension","extensions","ios","objc","objcective-c","permissions","progressbutton","rxswift","svga","svgaplayer","swift","timer","transition","transition-animation","verticalsliders","websocket"],"created_at":"2024-11-22T08:29:26.343Z","updated_at":"2025-07-13T08:30:27.123Z","avatar_url":"https://github.com/itenfay.png","language":"Swift","funding_links":[],"categories":["iOS"],"sub_categories":["SwiftKit"],"readme":"[中文版](README.md) | **English Version**\n\n# CXSwiftKit\n\n`CXSwiftKit` provides the utilities and rich extensions of Swift language.\n\n[![Version](https://img.shields.io/cocoapods/v/CXSwiftKit.svg?style=flat)](https://cocoapods.org/pods/CXSwiftKit)\n[![License](https://img.shields.io/cocoapods/l/CXSwiftKit.svg?style=flat)](https://cocoapods.org/pods/CXSwiftKit)\n[![Platform](https://img.shields.io/cocoapods/p/CXSwiftKit.svg?style=flat)](https://cocoapods.org/pods/CXSwiftKit)\n\n## Preview\n\n**More content needs you to explore.**\n\n\u003cdiv align=left\u003e\n\u0026emsp; \u003cimg src=\"https://github.com/itenfay/CXSwiftKit/raw/master/IMG_0716.gif\" width=\"50%\" /\u003e\n\u003c/div\u003e\n\n\u003e **If you think it's okay, please give it a `star`**\n\n## Fetures\n\n- **ApplePay**`(Optional)`：This is used for Apple payment.\n- **AVToolbox**：This is used for audio and video format conversion.\n- **Base**：Includes configuration, definition, and log output.\n- **Core**：Includes APP resignature detection, obtaining device information, album operation, screen recording, screenshot detection, redirection, etc.\n- **Camera**：This is used for iOS camera sampling data capture.\n- **DocumentPicker**：This is used for system file operations.\n- **Extension**：Includes the extensions of `Array、Dictionary、Int、Double、CGFloat、String、NSAttributedString、CALayer、NSObject、DispatchQueue、UIDevice、UIColor、UIImage、UIImageView、UIView、UIViewController, etc.`. \n- **FileOperation**：This is used for iOS sandbox file operations.\u003c!--- **HandyJSONHelper**`(Optional)`：`HandyJSONHelper` wraps the JSON conversion.--\u003e\n- **KingfisherWrapper**`(Optional)`：`Kingfisher`'s anti-theft chain settings, `UIButton/UIImageView`'s extensions is used to set the image, and wraps commonly used functions.\n- **LiveGift**：This is used to showcase small gifts for live streaming.\n- **OverlayView**：This is used to pop up overlay views in all directions up, down, left, and right.\n-  **Permissions**：Various permissions for iOS, including `photo library, camera, microphone, location, Bluetooth, contacts, reminders, calendar, Siri, notifications, tracking, and more`.\n- **Timer**：Encapsulated `Dispatch Timer` and `Timer`.\n- **Transition**：This is for switching transitional scene.\n- **Widget**：The custom widgets.\n- **SDWebImageWrapper**`(Optional)`：`SDWebImage`'s anti-theft chain settings and common functions encapsulation.\n\n## Requirements\n\n* Xcode 14.0+\n* iOS 11.0, tvOS 11.0, macOS 10.15, watchOS 5.0\n\n## Installation\n\nCXSwiftKit is available through [CocoaPods](https://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n* CXSwiftKit\n```ruby\npod 'CXSwiftKit'\n```\n\n* ApplePay\n```\npod 'CXSwiftKit/ApplePay'\n```\n\n* KingfisherWrapper\n```\npod 'CXSwiftKit/KingfisherWrapper'\n```\n\n* SDWebImageWrapper\n```\npod 'CXSwiftKit/SDWebImageWrapper'\n```\n\n## Tree Structure Description\n\n```\nCXSwiftKit\n  ┣ ApplePay\n  ┃   ┗ CXApplePayContext.swift     // The implementation for Apple payment.\n  ┃\n  ┣ Base\n  ┃   ┣ \n  ┃   ┣ CXConfig.swift              // The configuration of this kit.\n  ┃   ┣ CXDefines.swift             // The definitions of this kit.\n  ┃   ┣ CXLock.swift                // Includes multi-thread locks(`CXUnfairLock, CXMutex, CXRecursiveMutex, CXSpin, CXConditionLock`).\n  ┃   ┗ CXLogger.swift              // Outputs logs to the console.\n  ┃\n  ┣ Core\n  ┃   ┣ CXAppContext.swift\n  ┃   ┣ CXDevice.swift                 // Used to provide some device informations.\n  ┃   ┣ CXDeviceScreenMonitor.swift    // Used to observe some changes of device screen.\n  ┃   ┣ CXHaptics.swift                // Some haptic feedback that works on iPhone 6 and up.\n  ┃   ┣ CXImageBufferProcessor.swift   // Used to process image buffer.\n  ┃   ┣ CXPhotoLibraryOperator.swift   // Used to operate the photo library.\n  ┃   ┣ CXScreenRecorder.swift         // The recorder that provides the ability to record audio and video of your app.\n  ┃   ┣ CXSwiftUtils.swift\n  ┃   ┣ CXSwipeInteractor.swift        // Add swipe gesture for the view, and observe its action.\n  ┃   ┗ CXTakeScreenshotDetector.swift // The detector for taking screenshot.\n  ┃   ┣ AVToolbox\n  ┃   ┃   ┣ CXAudioRecorder.swift     // The audio recorder that records audio data to a file.\n  ┃   ┃   ┣ CXAudioToolbox.swift      // Used to handle audio format.\n  ┃   ┃   ┣ CXAVGlobal.swift          // The global methods for the exported position.\n  ┃   ┃   ┣ CXAVToolbox.swift         // Used to handle audio and video mix.\n  ┃   ┃   ┗ CXVideoToolbox.swift      // Used to convert mp4 video format.\n  ┃   ┣ Camera\n  ┃   ┃   ┣ AtomicWrapper.swift       // Used to wrap atomic property.\n  ┃   ┃   ┣ CXLiveCameraConfiguration.swift // The configuration for live camera.\n  ┃   ┃   ┣ CXLiveCameraFrameCapturer.swift      \n  ┃   ┃   ┣ CXLiveCameraFrameRenderer.swift \n  ┃   ┃   ┣ CXLiveCameraPreview.swift        \n  ┃   ┃   ┣ CXLiveCameraProtocol.swift         \n  ┃   ┃   ┣ CXScanProtocol.swift         \n  ┃   ┃   ┣ CXScanResult.swift         \n  ┃   ┃   ┗ CXScanWrapper.swift  \n  ┃   ┣ CustomOverlayView\n  ┃   ┃   ┣ CXOverlayViewControllerWrapable.swift  \n  ┃   ┃   ┣ CXOverlayViewEx.swift      \n  ┃   ┃   ┗ CXOverlayViewWrapable.swift\n  ┃   ┣ DocumentPicker // The document picker for iOS.\n  ┃   ┃   ┣ CXDocument.swift\n  ┃   ┃   ┣ CXDocumentDelegate.swift\n  ┃   ┃   ┣ CXDocumentPicker.swift\n  ┃   ┃   ┗ CXDocumentDelegate.swift\n  ┃   ┣ LiveGift // Used to show live gifts.\n  ┃   ┃   ┣ CXLiveGiftLabel.swift\n  ┃   ┃   ┣ CXLiveGiftManager.swift\n  ┃   ┃   ┣ CXLiveGiftModel.swift\n  ┃   ┃   ┣ CXLiveGiftOperation.swift\n  ┃   ┃   ┗ CXLiveGiftView.swift\n  ┃   ┣ Permissions \n  ┃   ┃   ┣ CXPermission.swift\n  ┃   ┃   ┣ CXPermissionResult.swift\n  ┃   ┃   ┣ CXPermissions.swift // Includes photos, camera, microphone, locationAlways, locationInUse, notification, bluetooth, \n  ┃   ┃   ┃ // deviceBiometrics, devicePasscode, contacts, reminder, event, motion, siri, health, media, appTracking.\n  ┃   ┃   ┣ CXPermissionStatus.swift\n  ┃   ┃   ┣ CXPermissionType.swift\n  ┃   ┣ Timer\n  ┃   ┃   ┣ CXDispatchTimer.swift\n  ┃   ┃   ┗ CXTimer.swift\n  ┃   ┣ Transition // Views the demo in CXScalePresentAnimation.swift.\n  ┃   ┃   ┣ CXScaleDismissAnimation.swift\n  ┃   ┃   ┣ CXScalePresentAnimation.swift\n  ┃   ┃   ┗ CXSwipeLeftInteractiveTransition.swift  \n  ┃   ┗ Widget\n  ┃       ┣ CXCircleProgressButton.swift   // The circle progress button for iOS or tvOS.\n  ┃       ┗ CXVerticalSlider.swift         // The vertical slider for iOS or tvOS.\n  ┃\n  ┣ Extension // Provides some rich extensions\n  ┃   ┣ Application+Cx.swift\n  ┃   ┣ Array+Cx.swift\n  ┃   ┣ AVAsset+Cx.swift\n  ┃   ┣ Button+Cx.swift\n  ┃   ┣ CALayer+Cx.swift\n  ┃   ┣ CGFloat+Cx.swift\n  ┃   ┣ Color+Cx.swift\n  ┃   ┣ CXAssociatedKey.swift // Includes the associated keys.\n  ┃   ┣ CXConstraintMaker.swift  \n  ┃   ┣ CXGlobal.swift     // Provides some global methods\n  ┃   ┣ CXSwiftBase.swift  // Declares a `CXSwiftBaseCompatible` protocol, etc. You can use `cx` in the app, e.g.: view.cx.right = 10\n  ┃   ┣ Date+Cx.swift\n  ┃   ┣ Device+Cx.swift\n  ┃   ┣ Dictionary+Cx.swift\n  ┃   ┣ DispatchQueue+Cx.swift\n  ┃   ┣ Double+Cx.swift\n  ┃   ┣ Font+Cx.swift\n  ┃   ┣ Image+Cx.swift\n  ┃   ┣ ImageView+Cx.swift\n  ┃   ┣ Int+Cx.swift\n  ┃   ┣ Label+Cx.swift \n  ┃   ┣ NSAttributedString+Cx.swift \n  ┃   ┣ NSObject+Cx.swift\n  ┃   ┣ Optional+Cx.swift\n  ┃   ┣ ScrollView+Cx.swift\n  ┃   ┣ String+Cx.swift\n  ┃   ┣ TableView+Cx.swift\n  ┃   ┣ TextField+Cx.swift\n  ┃   ┣ TextView+Cx.swift\n  ┃   ┣ URL+Cx.swift\n  ┃   ┣ View+Cx.swift\n  ┃   ┗ ViewController+Cx.swift\n  ┃\n  ┣ FileOperation\n  ┃   ┣ CXFileToolbox.swift  // The file toolbox.\n  ┃   ┣ CXLineReader.swift   // Read text file line by line in efficient way.\n  ┃   ┗ CXStreamReader.swift // The file descriptor accesses data associated with files.\n  ┃\n  ┣ KingfisherWrapper\n  ┃    ┣ Button+kfwrapper.swift\n  ┃    ┣ CXKingfisherReferer.swift // Anti theft chains for files such as images and videos, and so on.\n  ┃    ┗ ImageView+kfwrapper.swift\n  ┃\n  ┗ SDWebImageWrapper\n       ┗ SDWebImageWrapper.swift // The wrapper for SDWebImage.\n```\n\n## Recommendation\n\n- [CXDownload](https://github.com/itenfay/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.\n- [MarsUIKit](https://github.com/itenfay/MarsUIKit) - `MarsUIKit` wraps some commonly used UI components.\n- [RxListDataSource](https://github.com/itenfay/RxListDataSource) - `RxListDataSource` provides data sources for UITableView or UICollectionView.\n- [CXNetwork-Moya](https://github.com/itenfay/CXNetwork-Moya) - `CXNetwork-Moya` encapsulates a network request library with Moya and ObjectMapper.\n\n## Example\n\nTo run the example project, clone the repo, and run `pod install` from the Example directory first.\n\n## License\n\nCXSwiftKit is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitenfay%2FCXSwiftKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitenfay%2FCXSwiftKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitenfay%2FCXSwiftKit/lists"}