定义 1.0.2

定义 1.0.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018年11月
SPM支持SPM

Bell App Lab维护。




定义 1.0.2

定义版本 许可证

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。或者,我们 shouldn't constantly check a device's screen size. 我们应该依赖Auto Layout的大小类及其它所有功能。

我明白了。

但有时你只是需要在某个地方放上一个标志。CompactRegular并没有捕捉到12.9英寸iPad Pro屏幕的实际意义。所以也许你想要在那里展示更多内容。或者,也许你只是不希望在仿真器上请求推送通知的权限。我们都在那里。

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

注意

请注意,Define不提供编译时安全检查。它仅是一组用于运行时检查的静态布尔值。

换句话说,执行此操作

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

...将不会关闭任何编译器警告。

对于这一点,请参阅检查API可用性条件编译块

用法

只是为了让您了解基本情况。

  • 定义:与此模块交互的主要点。
    • 设备
      • currentModel:运行您的代码的设备型号。
      • isSimulator
      • 模型:自2008年以来所有相关苹果产品的模型标识符的枚举。
      • isAppleTV
      • isAppleWatch
      • isiPad
      • isiPhone
      • isiPod
      • isMac
      • 更多
    • 屏幕:关于您的应用程序可用的当前屏幕信息。
      • bounds:屏幕当前的边界矩形。
      • currentWidth
      • currentHeight
      • maxLength:宽度和高度中的较大者。
      • minLength:宽度和高度中的较小者。
      • 更多
    • OS:关于运行您的应用程序的操作系统信息。
      • version:描述运行您的应用程序的操作系统版本,并使它们易于比较。
    • App:您的应用程序,主要从Info.plist中读取。
      • name(forClass:):找到您的应用程序名称。
      • version(forClass:):找到您的应用程序版本。
    • 版本:定义软件版本,格式为<调用strong>major.minor.patch (build)。
  • 捆绑包:
    • id(forClass:):找到您的应用程序捆绑ID。

规范

  • iOS 9+
  • watchOS 3+
  • tvOS 9+
  • macOS 10.11+
  • Swift 3.3+

安装

Cocoapods

pod 'Defines', '~> 1.0'

然后在所需的地方导入 import Defines

Carthage

github "BellAppLab/Defines" ~> 1.0

然后在所需的地方导入 import Defines

Swift 包管理器

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

然后在所需的地方导入 import Defines

Git 子模块

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

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

作者

Bell App Lab, [email protected]

致谢

标志图片Sumana Chamrunworakiat 提供,源自 The Noun Project

许可

Defines 在 MIT 许可下可用。请参阅 LICENSE 文件获取更多信息。