Muitos scripts na web detectam apenas o Safari ou apenas dispositivos Apple, mas retornam falsos positivos, como Safari para desktop ou Chrome móvel. Aqui está minha opinião para detectar apenas o Mobile Safari – salve para a próxima vez que você ficar louco com bugs criativos e irritantes:
/iP(ad|hone|od).+Version/[d.]+.*Safari/i
Como um teste Modernizr:
Modernizr.addTest('mobilesafari', function() {
return /iP(ad|hone|od).+Version/[d.]+.*Safari/i.test(navigator.userAgent);
});
Fonte para parte apenas do Safari: urbz em StackOverflow