iosswiftuidevice

Is there an API to get the iOS Rapid Security Response version?


Rapid Security Responses are a recent introduction which allows Apple to provide OS updates that fix security issues without the need to install a full software update.

https://support.apple.com/en-us/HT201224

Is there an iOS API I can use to get the Rapid Security Response version? The version is a suffix to the OS version e.g. (a), (b), etc, but I don't mind having an API that gives me the full version e.g. 16.4.1 (a).

I don't see any information on any iOS API for that in the Apple Developer docs. There is an API for MDM solutions in the resource above, but that's not what I really need.

I have tried UIDevice.current.systemVersion to see if it contains the suffix when run on a Rapid Security Response OS version, but it doesn't (Apple doing that instead of introducing a new API would break lots of existing code anyway, but it was worth a shot).


Solution

  • On the iOS side it's possible to get it from ProcessInfo

    var info = ProcessInfo.processInfo.operatingSystemVersionString
    info = info.replacingOccurrences(of: "Version ", with: "")
    
    let buildRegex = " \\(Build.*\\)"
    let regex = try! NSRegularExpression(pattern: buildRegex, options: [])
    let version = regex.stringByReplacingMatches(
        in: info,
        range: NSRange(location: 0, length: info.count),
        withTemplate: ""
    )
    

    Also, use MDM API to retrieve if the rapid update is available. Endpoint: https://gdmf.apple.com/v2/pmv