diff --git a/packages/shared/utils/is.ts b/packages/shared/utils/is.ts index 24fc7b3eabf..d46a7ee0cd4 100644 --- a/packages/shared/utils/is.ts +++ b/packages/shared/utils/is.ts @@ -24,5 +24,10 @@ export const hasOwn = (val: T, key: K): key export const isIOS = /* #__PURE__ */ getIsIOS() function getIsIOS() { - return isClient && /* #__PURE__ */ window?.navigator?.userAgent && /* #__PURE__ */ /iP(ad|hone|od)/.test(/* #__PURE__ */ window.navigator.userAgent) + return isClient && window?.navigator?.userAgent && ( + (/iP(ad|hone|od)/.test(window.navigator.userAgent)) + // The new iPad Pro Gen3 does not identify itself as iPad, but as Macintosh. + // https://github.com/vueuse/vueuse/issues/3577 + || (window?.navigator?.maxTouchPoints > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent)) + ) }