定义了 Version License

Platforms Swift support CocoaPods Compatible Carthage compatible Swift Package Manager compatible Twitter

Defines

一个用 Swift 编写的运行时检查的集合。

换句话说,简单地这样做

if Defines.Device.isSimulator {
    //Don't ask permission to send push notifications
}

我们都知道苹果公司做事的方式™,对吧? 不是检查设备,而是检查功能。 例如,与其检查设备是否为 iPod touch 并因此没有 GPS,不如检查 CoreLocation 是否可用。 或者,与其一直检查设备的屏幕尺寸,不如依靠 Auto Layout 的尺寸类等等。

我明白了。

但有时你必须在某个地方设置该标志。 CompactRegular 无法捕捉 iPad Pro 12.9 英寸屏幕的实际空间有多大。 所以你可能想在那里呈现更多内容。 或者你可能只是不想在模拟器上请求推送通知的权限。 我们都经历过。

所以只需 import Defines 并继续你的生活。

注意

请注意,Defines 提供编译时安全检查。 它仅仅是用于运行时检查的静态布尔值的集合。

换句话说,这样做

let iOS9 = Defines.Version(versionString: "9.0")
if Defines.OS.isiOS && Defines.OS.version = iOS9 {
    //execute code only available on iOS9
}

... 将不会消除任何编译器警告。

为此,请查看 检查 API 可用性条件编译块

用法

只是为了让你了解它的要点。

规格

安装

Cocoapods

pod 'Defines', '~> 1.0'

然后在需要的地方 import Defines

Carthage

github "BellAppLab/Defines" ~> 1.0

然后在需要的地方 import Defines

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/BellAppLab/Defines", from: "1.0")
]

然后在需要的地方 import Defines

Git Submodules

cd toYourProjectsFolder
git submodule add -b submodule --name Defines https://github.com/BellAppLab/Defines.git

然后将 Definess 文件夹拖到你的 Xcode 项目中。

作者

Bell App Lab, apps@bellapplab.com

鸣谢

Logo image by Sumana Chamrunworakiat from The Noun Project

许可

Defines 在 MIT 许可下可用。 有关更多信息,请参见 LICENSE 文件。