最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】如何在swift中判断iOS版本

iOS crifan 4799浏览 0评论

折腾:

【基本解决】iOS11中导航栏的返回按钮靠右偏移很多

期间,想要实现:

判断当前iOS版本是11还是之前的版本

搜:

swift if available ios

How to check an API is available in Swift for iOS and macOS.

在Swift中检查API的可用性 – Swift迷

Availability Attributes in Swift

<code>if #available(iOS 9.0, *) {

} else {
  print("iOS 8.4")
}

@available(iOS 9.0, *) private func checkContact() {
}

if #available(iOS 9, *) {
    // use UIStackView
} else {
    // show sad face emoji
}
</code>

ios if available

Hi! I’m #available!

ios version check swift

API Availability Swift

Checking API Availability with Swift

How to check an API is available in Swift for iOS and macOS.

【总结】

目前还是没有找到:

如果是iOS11或更新的

如果是iOS11以前的版本

的更准确的写法。

只能暂时用:

if #available(iOS 11, *) {
} else {
}

->

后来才知道:

if #available(iOS 11, *) {

就表示 iOS版本 >= 11

->所以完整的几种情况是:

(1)部分代码片段:

if #available(iOS 9.0, *) {
  let store = CNContactStore()
} else {
  // Fallback on earlier versions
}

(2)包括其他平台:

if #available(iOS 9, OSX 10.10, *) {
  // Code to execute on iOS 9, OS X 10.10
}

(3)换成guard的写法:

private func somethingNew() {
  guard #available(iOS 9, *) else { return }
  // do something on iOS 9
  …
}

(4)整个函数都是:

@available(iOS 9.0, *)
private func checkContact() {
  let store = CNContactStore()
  // …
}

转载请注明:在路上 » 【已解决】如何在swift中判断iOS版本

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.187 seconds, using 22.06MB memory