[![Build Status](https://github.com/SwifterSwift/SwifterSwift/workflows/SwifterSwift/badge.svg?branch=master)](https://github.com/SwifterSwift/SwifterSwift/actions) [![Platforms](https://img.shields.io/badge/platforms-iOS%20%7C%20tvOS%20%7C%20macOS%20%7C%20watchOS%20%7C%20Linux-lightgrey.svg)](https://github.com/SwifterSwift/swifterSwift) [![Cocoapods](https://img.shields.io/cocoapods/v/SwifterSwift.svg)](https://cocoapods.org/pods/SwifterSwift) [![Carthage compatible](https://img.shields.io/badge/Carthage-Compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage) [![SPM compatible](https://img.shields.io/badge/SPM-Compatible-brightgreen.svg?style=flat)](https://swift.org/package-manager/) [![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) [![codecov](https://codecov.io/gh/SwifterSwift/SwifterSwift/branch/master/graph/badge.svg)](https://codecov.io/gh/SwifterSwift/SwifterSwift) [![docs](http://swifterswift.com/docs/badge.svg)](http://swifterswift.com/docs) [![Swift](https://img.shields.io/badge/Swift-5.6-orange.svg)](https://swift.org) [![Xcode](https://img.shields.io/badge/Xcode-12.4-blue.svg)](https://developer.apple.com/xcode) [![MIT](https://img.shields.io/badge/License-MIT-red.svg)](https://opensource.org/licenses/MIT) [![Slack Channel](https://img.shields.io/badge/Slack-SwifterSwift-green.svg)](https://join.slack.com/t/swifterswift/shared_invite/zt-s6dl4g2e-R5V5baIawGpdUz2heShjiQ) SwifterSwift 是 **500 多个原生 Swift 扩展的集合**,为 iOS、macOS、tvOS、watchOS 和 Linux 提供了(超过 500 个)适用于各种原生数据类型、UIKit 和 Cocoa 类的便捷方法、语法糖和性能改进。 ### [v6.0 有什么新功能?](https://github.com/SwifterSwift/SwifterSwift/blob/master/CHANGELOG.md#v600) ## 要求 - **iOS** 12.0+ / **tvOS** 12.0+ / **watchOS** 4.0+ / **macOS** 10.13+ / **Ubuntu** 14.04+ - Swift 5.6+ ## 希望将 SwifterSwift 用于旧版本的 Swift SwifterSwift 从 v5 开始兼容 Swift v5.0+ - 要与 **Swift 3 / Xcode 8.x** 一起使用,请确保您使用的是 [**`v3.1.1`**](https://github.com/SwifterSwift/SwifterSwift/releases/tag/3.1.1)。 - 要与 Swift 3.2 / Xcode 9.x 一起使用,请确保您使用的是 [**`v3.2.0`**](https://github.com/SwifterSwift/SwifterSwift/releases/tag/3.2.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'

- 仅集成 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

你可以使用 The Swift Package Manager 来安装 SwifterSwift,请在你的 Package.swift 文件中添加正确的描述:

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

接下来,将 SwifterSwift 添加到您的 targets 依赖项中,如下所示:

.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 项目以使用所有扩展或特定扩展。

对于您的 test targets,您还可以添加 XCTest 文件夹。

## 所有扩展列表
SwiftStdlib 扩展
Foundation 扩展
UIKit 扩展
AppKit 扩展
CoreGraphics 扩展
CoreLocation 扩展
CoreAnimation 扩展
MapKit 扩展
SpriteKit 扩展
SceneKit 扩展
StoreKit 扩展
Dispatch 扩展
WebKit 扩展
HealthKit 扩展
XCTest 扩展
Combine 扩展
## 这有多酷? SwifterSwift 是一个包含 **500 多个属性和方法**的库,旨在扩展 Swift 的功能和生产力,并忠实于原生的 Swift API 设计指南。 查看项目中的 Examples.playground 以获取一些很酷的示例! ## 文档 所有扩展的文档和示例都在 [swifterswift.com/docs](http://swifterswift.com/docs) ## 参与其中 我们希望得到您的反馈。参与前请参阅 [contributing guidelines](https://github.com/SwifterSwift/SwifterSwift/tree/master/CONTRIBUTING.md)。 ## Slack 频道: [![Slack](https://img.shields.io/badge/Slack-SwifterSwift-green.svg)](https://swifterswift.slack.com) 使用 SwifterSwift 与其他人交谈并交流经验总是很愉快,所以[加入我们的 Slack 频道](https://swifterswift.slack.com)吧。 ## 鸣谢 特别感谢: - [Steven Deutsch](https://github.com/SD10), [Luciano Almeida](https://github.com/LucianoPAlmeida) 和 [Guy Kogus](https://github.com/guykogus) 对扩展、文档和测试的最新贡献。 - [Paweł Urbanek](https://github.com/pawurb) 添加了 tvOS、watchOS 和 macOS 的初始化支持和帮助扩展。 - [Mert Akengin](https://github.com/pvtmert) 和 [Bashar Ghadanfar](https://www.behance.net/lionbytes) 设计了 [project website](http://swifterswift.com) 和 logo. - 非常感谢这个项目的所有其他[贡献者](https://github.com/SwifterSwift/SwifterSwift/graphs/contributors)。 ## License 协议 SwifterSwift 在 MIT 许可协议下发布的。有关更多信息,请参阅 [LICENSE](https://github.com/SwifterSwift/SwifterSwift/blob/master/LICENSE)。