Check and compare ios version with provided
const getIosVersion = () => {
return [11, 3, 0];
if (isIos()) {
const v = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);
return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || '0', 10)];
}
};
/**
* iosVersionToCheck is : string like '11' or '11.0' or (11.1.0), number like 10 or 11 or 9
* returns bool. If device hasn't ios returns null. if can't parse iosVersionToCheck returns null
*
*/
const isEarlierVersionIosThan = (iosVersionToCheck) => {
const deviceIosVersion = getIosVersion();
if (!deviceIosVersion) {
return null;
}
const [major = 0, minor = null, path = null] = String(iosVersionToCheck)
.split('.')
.map(Number);
console.log(deviceIosVersion, deviceIosVersion[1]);
console.log(major, minor, path);
switch (true) {
case Number.isInteger(major) && Number.isInteger(minor) && Number.isInteger(path): {
return deviceIosVersion[0] <= major && deviceIosVersion[1] <= minor && deviceIosVersion[2] < path;
}
case Number.isInteger(major) && Number.isInteger(minor): {
return deviceIosVersion[0] <= major && deviceIosVersion[1] < minor;
}
case Number.isInteger(major): {
return deviceIosVersion[0] < major;
}
default: {
return null;
}
}
};