code: static VersionNumber identifyIOSVersion(final String userAgent) {
  		VersionNumber version = VersionNumber.UNKNOWN;
  		final List<Pattern> patterns = new ArrayList<Pattern>();
  		patterns.add(Pattern.compile("iPhone OS\\s?((\\d+)((\\_\\d+)+)?) like Mac OS X"));
  		patterns.add(Pattern.compile("CPU OS\\s?((\\d+)((\\_\\d+)+)?) like Mac OS X"));
  		patterns.add(Pattern.compile("iPhone OS\\s?((\\d+)((\\.\\d+)+)?);"));
  		for (final Pattern pattern : patterns) {
  			final Matcher m = pattern.matcher(userAgent);
  			if (m.find()) {
  				version = parseFirstVersionNumber(m.group(MAJOR_INDEX).replaceAll("_", "."));
  				break;
  			}
  		}
  		return version;
  	}
docs: This method try to determine the version number of the operating system <i>iOS</i> more accurately.
  
  @param userAgent
  user agent string
  @return more accurately identified version number or {@code null}