সুইফটে ওএস সংস্করণটি পরীক্ষা করবেন?


190

আমি সুইফটে সিস্টেমের তথ্য যাচাই করার চেষ্টা করছি। আমি বুঝতে পেরেছি, কোড দ্বারা এটি অর্জন করা যেতে পারে:

var sysData:CMutablePointer<utsname> = nil
let retVal:CInt = uname(sysData)

এই কোডটি নিয়ে আমার দুটি সমস্যা রয়েছে:

  1. সিসডাটার প্রাথমিক মানটি কী হওয়া উচিত? এই উদাহরণটি রেটওয়ালে -1 দেয় সম্ভবত সিসডাটা শূন্য।
  2. সিসডাটা থেকে আমি কীভাবে তথ্য পড়তে পারি?

উত্তর:


387

আইওএসের জন্য, চেষ্টা করুন:

var systemVersion = UIDevice.current.systemVersion

ওএস এক্সের জন্য, চেষ্টা করে দেখুন:

var systemVersion = NSProcessInfo.processInfo().operatingSystemVersion

যদি আপনি কেবল ব্যবহারকারীরা কমপক্ষে একটি নির্দিষ্ট সংস্করণ চালাচ্ছেন কিনা তা পরীক্ষা করতে চান তবে আপনি নীচের সুইফট 2 বৈশিষ্ট্যটিও ব্যবহার করতে পারেন যা আইওএস এবং ওএস এক্সে কাজ করে:

if #available(iOS 9.0, *) {
    // use the feature only available in iOS 9
    // for ex. UIStackView
} else {
    // or use some work around
}

তবে এটি ওএস সংস্করণ পরীক্ষা করার প্রস্তাব দেওয়া হয় না। সংস্করণ সংখ্যা তুলনা করার চেয়ে আপনি যে বৈশিষ্ট্যটি ব্যবহার করতে চান সেটি ডিভাইসে উপলব্ধ কিনা তা যাচাই করা ভাল better আইওএসের জন্য, উপরে উল্লিখিত হিসাবে, এটি পরীক্ষা করা উচিত যদি এটি কোনও নির্বাচককে প্রতিক্রিয়া জানায়; যেমন .:

if (self.respondsToSelector(Selector("showViewController"))) {
    self.showViewController(vc, sender: self)
} else {
    // some work around
}

যদিও উদ্দেশ্য সি এর জন্য এটি সঠিক, দ্রুতগতিতে এটি করার একটি খুব ভাল উপায় আছে। এখানে রূপরেখা দেওয়া হয়েছে ... হ্যাকিংউইথসইউইফটটি
নিউ

2
আমি ওএস সংস্করণটি সরাসরি যাচাই করতে দেখতে পাচ্ছি তার একটি ব্যবহার (নির্দিষ্ট সক্ষমতা পরীক্ষা করার বিপরীতে) হ'ল আপনার সর্বনিম্ন স্থাপনার লক্ষ্য নির্ধারণ করতে আপনার ব্যবহারকারীদের মধ্যে ওএস সংস্করণ বিতরণ সম্পর্কিত ডেটা সংগ্রহ করা।
নিকোলাস মিয়ারি

90

আপডেট:
এখন আপনার সুইফট ২: প্রবর্তিত নতুন প্রাপ্যতা যাচাই করা উচিত :
উদাহরণস্বরূপ আইওএস 9.0 বা পরে সংকলনের সময় পরীক্ষা করতে এটি ব্যবহার করুন:

if #available(iOS 9.0, *) {
    // use UIStackView
} else {
    // show sad face emoji
}

বা পুরো পদ্ধতি বা শ্রেণীর সাথে ব্যবহার করা যেতে পারে

@available(iOS 9.0, *)
func useStackView() {
    // use UIStackView
}

আরো তথ্যের জন্য দেখুন এই

সময় পরীক্ষা করুন:

আপনি যদি সঠিক সংস্করণ না চান তবে আইওএস 9,10 বা 11 পরীক্ষা করে দেখতে চান যদি:

let floatVersion = (UIDevice.current.systemVersion as NSString).floatValue

সম্পাদনা: এটি অর্জনের সবেমাত্র অন্য একটি উপায় খুঁজে পেয়েছে:

let iOS8 = floor(NSFoundationVersionNumber) > floor(NSFoundationVersionNumber_iOS_7_1)
let iOS7 = floor(NSFoundationVersionNumber) <= floor(NSFoundationVersionNumber_iOS_7_1)

50

আমি সহায়িকার ফাংশনগুলি তৈরি করেছি যা নীচের লিঙ্ক থেকে দ্রুতগতিতে স্থানান্তরিত হয়েছিল:

ডিভাইসটি চলমান কোন আইওএস সংস্করণটি আমরা প্রোগ্রামগতভাবে সনাক্ত করতে পারি?

func SYSTEM_VERSION_EQUAL_TO(version: String) -> Bool {
    return UIDevice.currentDevice().systemVersion.compare(version,
        options: NSStringCompareOptions.NumericSearch) == NSComparisonResult.OrderedSame
}

func SYSTEM_VERSION_GREATER_THAN(version: String) -> Bool {
    return UIDevice.currentDevice().systemVersion.compare(version,
        options: NSStringCompareOptions.NumericSearch) == NSComparisonResult.OrderedDescending
}

func SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.currentDevice().systemVersion.compare(version,
        options: NSStringCompareOptions.NumericSearch) != NSComparisonResult.OrderedAscending
}

func SYSTEM_VERSION_LESS_THAN(version: String) -> Bool {
    return UIDevice.currentDevice().systemVersion.compare(version,
        options: NSStringCompareOptions.NumericSearch) == NSComparisonResult.OrderedAscending
}

func SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.currentDevice().systemVersion.compare(version,
        options: NSStringCompareOptions.NumericSearch) != NSComparisonResult.OrderedDescending
}

এটি এর মতো ব্যবহার করা যেতে পারে:

SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO("7.0")

সুইফট 4.2

func SYSTEM_VERSION_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) == .orderedSame
}

func SYSTEM_VERSION_GREATER_THAN(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) == .orderedDescending
}

func SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) != .orderedAscending
}

func SYSTEM_VERSION_LESS_THAN(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) == .orderedAscending
}

func SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) != .orderedDescending
}

31

সুইফট 5

ProcessInfoআমাদের সংস্করণ তথ্য দেয় যেহেতু আমাদের এক্সটেনশন তৈরি করতে হবে না । আপনি নীচের মত আইওএসের জন্য নমুনা কোড দেখতে পারেন।

let os = ProcessInfo().operatingSystemVersion

switch (os.majorVersion, os.minorVersion, os.patchVersion) {
case (let x, _, _) where x < 8:
    print("iOS < 8.0.0"

case (8, 0, _):
    print("iOS >= 8.0.0, < 8.1.0")

case (8, _, _):
    print("iOS >= 8.1.0, < 9.0")

case (9, _, _):
    print("iOS >= 9.0.0")

default:
    print("iOS >= 10.0.0")
}

তথ্যসূত্র: http://nshipster.com/swift-system-version-checking/


17

সুইফট 5

func run() {
    let version = OperatingSystemVersion(majorVersion: 13, minorVersion: 0, patchVersion: 0)
    if ProcessInfo.processInfo.isOperatingSystemAtLeast(version) {
        runNewCode()
    } else {
        runLegacyCode()
    }
}

func runNewCode() {
    guard #available(iOS 13.0, *) else {
        fatalError()
    }
    // do new stuff
}

func runLegacyCode() {
    // do old stuff
}

1
কেন রানউইনকোডে # উপলভ্য (আইওএস 11.0, *) প্রয়োজন?
ইলিয়া কৃত

1
@ ইলিয়াক্রিট #available(...)ব্লকটি সংস্থাপককে কোডের জন্য ত্রুটিগুলি প্রদর্শন করা থেকে বিরত রেখেছে যা সরবরাহ করা থেকে পুরানো সংস্করণগুলিতে সমর্থিত নয়।
ভবিষ্যত-আদম

15

আমি এই সিঙ্গলটনটিকে সাধারণ ব্যবহারের জন্য তৈরি করেছি, একটি IOSVersion.swiftফাইল তৈরি করেছি এবং এই কোডটি যুক্ত করেছি:

import UIKit

public class IOSVersion {
    class func SYSTEM_VERSION_EQUAL_TO(version: NSString) -> Bool {
        return UIDevice.currentDevice().systemVersion.compare(version,
            options: NSStringCompareOptions.NumericSearch) == NSComparisonResult.OrderedSame
    }

    class func SYSTEM_VERSION_GREATER_THAN(version: NSString) -> Bool {
        return UIDevice.currentDevice().systemVersion.compare(version as String,
            options: NSStringCompareOptions.NumericSearch) == NSComparisonResult.OrderedDescending
    }

    class func SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(version: NSString) -> Bool {
        return UIDevice.currentDevice().systemVersion.compare(version as String,
            options: NSStringCompareOptions.NumericSearch) != NSComparisonResult.OrderedAscending
    }

    class func SYSTEM_VERSION_LESS_THAN(version: NSString) -> Bool {
        return UIDevice.currentDevice().systemVersion.compare(version as String,
            options: NSStringCompareOptions.NumericSearch) == NSComparisonResult.OrderedAscending
    }

    class func SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(version: NSString) -> Bool {
        return UIDevice.currentDevice().systemVersion.compare(version as String,
            options: NSStringCompareOptions.NumericSearch) != NSComparisonResult.OrderedDescending
    }
}

ব্যবহার:

IOSVersion.SYSTEM_VERSION_EQUAL_TO("8.0")
IOSVersion.SYSTEM_VERSION_LESS_THAN("8.0")

ধন্যবাদ @ কেভিশ

সুইফট 2 সম্পাদনা করুন:

if #available(iOS 9.0, *) {
    // 👍 
} else {
    // 👎
}

4
এটা কি সিঙ্গলটন? বা আইওএস ভার্সনে ক্লাস ফাংশন? একটি সিঙ্গলটনও হবে না static let shared = IOSVersion
চার্লটন প্রোভাতাস

9

আপনি যদি সুইফট 2 ব্যবহার করেন এবং নির্দিষ্ট এপিআই ব্যবহার করতে আপনি ওএস সংস্করণটি পরীক্ষা করতে চান তবে আপনি নতুন উপলভ্য বৈশিষ্ট্যটি ব্যবহার করতে পারেন:

if #available(iOS 8, *) {
    //iOS 8+ code here.
}
else {
    //Code for iOS 7 and older versions.
    //An important note: if you use #availability, Xcode will also 
    //check that you don't use anything that was introduced in iOS 8+
    //inside this `else` block. So, if you try to use UIAlertController
    //here, for instance, it won't compile. And it's great.
}

আমি এই উত্তরটি লিখেছি কারণ কোয়েরিতে এটি Google এ প্রথম প্রশ্ন swift 2 check system version


7

সুইফট 3.0+ এর জন্য আপডেট

func SYSTEM_VERSION_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) == ComparisonResult.orderedSame
}

func SYSTEM_VERSION_GREATER_THAN(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) == ComparisonResult.orderedDescending
}

func SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) != ComparisonResult.orderedAscending
}

func SYSTEM_VERSION_LESS_THAN(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) == ComparisonResult.orderedAscending
}

func SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: .numeric) != ComparisonResult.orderedDescending
}

1
ComparisonResultএটি খাটো করতে এড়িয়ে যেতে পারে Can
জন পাং

এছাড়াও, ফ্যাক্টরিং UIDevice.current.systemVersion.compare(version, options: .numeric)একটি ছড়িয়ে funcকরতে সাহায্য কোড পড়া।
জন পাং

5

বিস্তারিত

  • এক্সকোড 10.2.1 (10E1001), সুইফট 5

লিংক

OperatingSystemVersion

সমাধান

extension OperatingSystemVersion {
    func getFullVersion(separator: String = ".") -> String {
        return "\(majorVersion)\(separator)\(minorVersion)\(separator)\(patchVersion)"
    }
}

let os = ProcessInfo().operatingSystemVersion
print(os.majorVersion)          // 12
print(os.minorVersion)          // 2
print(os.patchVersion)          // 0
print(os.getFullVersion())      // 12.2.0

1
Doubleসংস্করণ নম্বর ব্যবহার করার সময় সম্ভাব্য রাউন্ডিং সমস্যাগুলি নেই , উদাহরণস্বরূপ 10.0999পরিবর্তে 10.1?
mschmidt

না var stringVersion = "10.0999"; print(stringVersion.toDouble!) // print 10.0999, এটি মুদ্রণ করবে10.0999
ভ্যাসিলি বোদনারচুক

4
let Device = UIDevice.currentDevice()
let iosVersion = NSString(string: Device.systemVersion).doubleValue

let iOS8 = iosVersion >= 8
let iOS7 = iosVersion >= 7 && iosVersion < 8

এবং হিসাবে পরীক্ষা করুন

if(iOS8)
{

}
else 
{
}  

4

সুইফট 2 এবং উচ্চতর সিস্টেমে সংস্করণ (এবং অন্যান্য অনেকগুলি সংস্করণ) পরীক্ষা করার সবচেয়ে সহজ এবং সহজ উপায় হ'ল:

if #available(iOS 9.0, *) { // check for iOS 9.0 and later

}

এছাড়াও, #availableআপনি এর সাথে সংস্করণগুলি পরীক্ষা করতে পারেন:

iOS
iOSApplicationExtension
macOS
macOSApplicationExtension
watchOS
watchOSApplicationExtension
tvOS
tvOSApplicationExtension
swift

2

ম্যাট থম্পসন একটি খুব সহজ উপায় শেয়ার করে

switch UIDevice.currentDevice().systemVersion.compare("8.0.0", options: NSStringCompareOptions.NumericSearch) {
case .OrderedSame, .OrderedDescending:
    println("iOS >= 8.0")
case .OrderedAscending:
    println("iOS < 8.0")
}

2

সুইফট 4.x

func iOS_VERSION_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: NSString.CompareOptions.numeric) == ComparisonResult.orderedSame
}

func iOS_VERSION_GREATER_THAN(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: NSString.CompareOptions.numeric) == ComparisonResult.orderedDescending
}

func iOS_VERSION_GREATER_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: NSString.CompareOptions.numeric) != ComparisonResult.orderedAscending
}

func iOS_VERSION_LESS_THAN(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: NSString.CompareOptions.numeric) == ComparisonResult.orderedAscending
}

func iOS_VERSION_LESS_THAN_OR_EQUAL_TO(version: String) -> Bool {
    return UIDevice.current.systemVersion.compare(version, options: NSString.CompareOptions.numeric) != ComparisonResult.orderedDescending
}

ব্যবহার:

if iOS_VERSION_GREATER_THAN_OR_EQUAL_TO(version: "11.0") {
    //Do something!
}

পিএস কেভিআইএসএইচ এর উত্তরগুলি ফাংশনটির নাম পরিবর্তন করে সুইফট ৪.x এ অনুবাদ করা হয়েছে কারণ আমি বিশেষত আইওএস অ্যাপ্লিকেশানের জন্য এই স্নিপেটটি ব্যবহার করছি।


1

দ্রষ্টব্য: আইওএস 8.0 এবং এর পরে পাওয়া যায়। ওএস এক্স v10.10 এবং তারপরে

var majorVersion: Int    { return NSProcessInfo.processInfo().operatingSystemVersion.majorVersion }
var minorVersion: Int    { return NSProcessInfo.processInfo().operatingSystemVersion.minorVersion }
var patchVersion: Int    { return NSProcessInfo.processInfo().operatingSystemVersion.patchVersion }
var myOSVersion:  String { return NSProcessInfo.processInfo().operatingSystemVersionString        }

1

ম্যাট থম্পসনের উত্তরের ভিত্তিতে, এখানে সম্পর্কিত ইউনিট পরীক্ষার একটি পদ্ধতি যা আইওএস 7 এবং তারপরে সুইফট এবং অবজেক্টিভ-সি এর সাথে কাজ করে ( আইওএস 9 সহ যা আপনাকে আর এনএসফাউন্ডেশন নম্বরটি পরীক্ষা করতে দেয় না ):

+ (BOOL) isAtLeastOSVersion:(NSString *)osVersion
{
    switch ([[UIDevice currentDevice].systemVersion compare:osVersion options:NSNumericSearch]) {
        case NSOrderedSame:
        case NSOrderedDescending:
            return YES;
        default:
            return NO;
    }
}  

@interface ANFakeCurrDevice : NSObject
@property (nonatomic, strong) NSString *systemVersion;
@end
@implementation ANFakeCurrDevice
@end


@implementation MyHelperClassUnitTests

- (void)setUp {
    [super setUp];
}

- (void)tearDown {
    [super tearDown];
}

- (void)test_isAtLeastOSVersion
{
    id deviceMock = [OCMockObject niceMockForClass:[UIDevice class]];
    ANFakeCurrDevice *fakeCurrDevice = [ANFakeCurrDevice new];
    fakeCurrDevice.systemVersion = @"99.9.9";
    [[[deviceMock stub] andReturn:fakeCurrDevice] currentDevice];
    XCTAssertTrue([[UIDevice currentDevice].systemVersion isEqualToString:@"99.9.9"]);

    fakeCurrDevice.systemVersion = @"1.0.1";
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"1"]);
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"1.0"]);
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"1.0.1"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"1.0.2"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"1.1.0"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"2"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"2.0"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"2.0.0"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"2.0.1"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"2.1.0"]);


    fakeCurrDevice.systemVersion = @"8.4.0";
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"7.0.1"]);
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"8"]);
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"8.4"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"8.4.1"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"8.4.2"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"9.0"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"9.0.1"]);
    XCTAssertFalse([ANConstants isAtLeastOSVersion:@"9.0.2"]);
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"8.4"] && ![ANConstants isAtLeastOSVersion:@"9.0"]);

    fakeCurrDevice.systemVersion = @"8.4.1";
    XCTAssertTrue([ANConstants isAtLeastOSVersion:@"8.4"] && ![ANConstants isAtLeastOSVersion:@"9.0"]);
}


@end

আপনি বুঝতে পারবেন যে আসল পদ্ধতিটি খুব সংক্ষিপ্ত এবং কমপ্যাক্ট এবং আমি উদাহরণ হিসাবে প্রমাণের জন্য ইউনিট টেস্ট কোডটি যুক্ত করেছি এবং এটি প্রমাণ করে যে ঠিক আছে?
n8tr

আমি দুঃখিত যে আমি বুঝতে পারিনি যে এটি এক নজরে XCTest।
ডনসং

1
let osVersion = NSProcessInfo.processInfo().operatingSystemVersion
let versionString = osVersion.majorVersion.description + "." + osVersion.minorVersion.description + "." + osVersion.patchVersion.description
print(versionString)

0

এছাড়াও আপনি যদি ওয়াচওএস চেক করতে চান তবে।

দ্রুতগতি

let watchOSVersion = WKInterfaceDevice.currentDevice().systemVersion
print("WatchOS version: \(watchOSVersion)")

উদ্দেশ্য গ

NSString *watchOSVersion = [[WKInterfaceDevice currentDevice] systemVersion];
NSLog(@"WatchOS version: %@", watchOSVersion);

0

সিস্টেমের বর্তমান সংস্করণ পান এবং এটি বিভক্ত করুন। সুতরাং আপনি বড় এবং ছোটখাটো সংস্করণ পেতে পারেন।

let sys_version = UIDevice.current.systemVersion
let all_version = sys_version.components(separatedBy: ".")
print("Major version : \(all_version[0])")
print("Minor version : \(all_version[1])")

0

এখানে লিখিত বেশিরভাগ নমুনা কোড অতিরিক্ত শূন্য সংস্করণের সাথে অপ্রত্যাশিত ফলাফল পাবে। উদাহরণ স্বরূপ,

func SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(version: String) -> Bool {
return UIDevice.current.systemVersion.compare(version, options: .numeric) != ComparisonResult.orderedAscending
}

এই পদ্ধতিটি আইওএস "10.3" এ উত্তীর্ণ সংস্করণ "10.3.0" দিয়ে ফিরে আসবে না। এই জাতীয় ফলাফলের কোনও অর্থ নেই এবং তাদের অবশ্যই একই সংস্করণ হিসাবে বিবেচনা করা উচিত। সঠিক তুলনা ফলাফল পেতে, আমাদের অবশ্যই সংস্করণ স্ট্রিংয়ের সমস্ত সংখ্যার উপাদানগুলির তুলনা করতে বিবেচনা করতে হবে। এছাড়াও, সমস্ত মূলধনীতে বৈশ্বিক পদ্ধতি সরবরাহ করা কোনও ভাল উপায় নয়। সংস্করণ প্রকার হিসাবে আমরা আমাদের এসডিকে ব্যবহার করি এটি একটি স্ট্রিং, এটি স্ট্রিংয়ের সাথে তুলনা কার্যকারিতা প্রসারিত করার বিষয়টি বোধগম্য।

সিস্টেম সংস্করণ তুলনা করতে, নিম্নলিখিত সমস্ত উদাহরণ ব্যবহার করা উচিত।

XCTAssertTrue(UIDevice.current.systemVersion.isVersion(lessThan: "99.0.0"))
XCTAssertTrue(UIDevice.current.systemVersion.isVersion(equalTo: UIDevice.current.systemVersion))
XCTAssertTrue(UIDevice.current.systemVersion.isVersion(greaterThan: "3.5.99"))
XCTAssertTrue(UIDevice.current.systemVersion.isVersion(lessThanOrEqualTo: "10.3.0.0.0.0.0.0"))
XCTAssertTrue(UIDevice.current.systemVersion.isVersion(greaterThanOrEqualTo: "10.3"))

আপনি এখানে আমার সংগ্রহশালায় এটি পরীক্ষা করে দেখতে পারেন https://github.com/DragonCherry/VersionCompare

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.