Build Status Platforms Cocoapods Carthage compatible SPM compatible Accio supported codecov docs Swift Xcode MIT Slack Channel

SwifterSwift 是一个包含 超过 500 个原生 Swift 扩展 的集合,为各种原始数据类型、UIKit 和 Cocoa 类提供便捷的方法、语法糖和性能改进 - 超过 500 个合而为一 - 适用于 iOS、macOS、tvOS、watchOS、Linux 和 Android。

简体中文

v6.0 中的新功能?

要求

希望将 SwifterSwift 用于旧版本的 Swift 吗?

从 v5 开始,SwifterSwift 与 Swift v5.0+ 兼容

安装

CocoaPods

要使用 CocoaPods 将 SwifterSwift 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

- 集成所有扩展 (推荐)

pod 'SwifterSwift'

- 仅集成 SwiftStdlib 扩展

pod 'SwifterSwift/SwiftStdlib'

- 仅集成 Foundation 扩展

pod 'SwifterSwift/Foundation'

- 仅集成 UIKit 扩展

pod 'SwifterSwift/UIKit'

- 仅集成 AppKit 扩展

pod 'SwifterSwift/AppKit'

- 仅集成 MapKit 扩展

pod 'SwifterSwift/MapKit'

- 仅集成 CoreGraphics 扩展

pod 'SwifterSwift/CoreGraphics'

- 仅集成 CoreLocation 扩展

pod 'SwifterSwift/CoreLocation'

- 仅集成 CryptoKit 扩展

pod 'SwifterSwift/CryptoKit'

- 仅集成 SpriteKit 扩展

pod 'SwifterSwift/SpriteKit'

- 仅集成 SceneKit 扩展

pod 'SwifterSwift/SceneKit'

- 仅集成 StoreKit 扩展

pod 'SwifterSwift/StoreKit'

- 仅集成 Dispatch 扩展

pod 'SwifterSwift/Dispatch'

- 仅集成 WebKit 扩展

pod 'SwifterSwift/WebKit'

- 仅集成 HealthKit 扩展

pod 'SwifterSwift/HealthKit'
Carthage

要使用 Carthage 将 SwifterSwift 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "SwifterSwift/SwifterSwift" ~> 6.0
Swift Package Manager

您可以使用 Swift Package Manager 通过将正确的描述添加到您的 Package.swift 文件来安装 SwifterSwift

import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    targets: [],
    dependencies: [
        .package(url: "https://github.com/SwifterSwift/SwifterSwift.git", from: "6.0.0")
    ]
)

接下来,像这样将 SwifterSwift 添加到您的 target 依赖项

.target(
    name: "YOUR_TARGET_NAME",
    dependencies: [
        "SwifterSwift",
    ]
),

然后运行 swift package update

请注意,Swift Package Manager 不支持为 iOS/tvOS/macOS/watchOS 应用程序构建 - 请参阅下一节中的 Accio。

Accio

Accio 是一个基于 SwiftPM 的依赖管理器,可以为 iOS/macOS/tvOS/watchOS 构建框架。 因此,集成步骤与上面描述的完全相同。 配置好 Package.swift 文件后,您需要运行 accio update 而不是 swift package update

手动

SwifterSwift 文件夹添加到您的 Xcode 项目以使用所有扩展,或特定的扩展。

对于您的测试目标,您还可以添加 XCTest 文件夹。

所有扩展的列表

SwiftStdlib 扩展
Foundation 扩展
UIKit 扩展
AppKit 扩展
CoreGraphics 扩展
CoreLocation 扩展
CoreAnimation 扩展
CryptoKit 扩展
MapKit 扩展
SpriteKit 扩展
SceneKit 扩展
StoreKit 扩展
Dispatch 扩展
WebKit 扩展
HealthKit 扩展
XCTest 扩展

这有多酷?

SwifterSwift 是一个包含 超过 500 个属性和方法 的库,旨在扩展 Swift 的功能和生产力,同时忠实于原始 Swift API 设计准则。

查看项目中的 Examples.playground,了解一些很酷的示例!

文档

所有扩展的文档,以及示例,可在 swifterswift.com/docs 上找到

参与其中

我们需要您的反馈。参与之前,请参阅 贡献指南

Slack 频道:Slack

与使用 SwifterSwift 的其他人交谈并交流经验总是很高兴的,所以快来 加入我们的 Slack 频道

感谢

特别感谢

许可证

SwifterSwift 在 MIT 许可证下发布。 有关更多信息,请参阅 LICENSE