code/SEO_Icons_SiteTree_DataExtension.php
protected function GenerateIOSPinicon(SiteConfig $config, SiteTree $owner, &$metadata, Image $IOSPinicon) {

        // header
        $metadata .= $this->owner->MarkupComment('iOS Pinned Icon');

        //// iOS Pinicon Title
        if ($config->fetchPiniconTitle()) {
            $metadata .= $owner->MarkupMeta('apple-mobile-web-app-title', $config->fetchPiniconTitle());
        }

        //// iOS Pinned Icon

        // For non-Retina (@1× display) iPhone, iPod Touch, and Android 2.1+ devices
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(57, 57)->getAbsoluteURL(), 'image/png'); // 57×57

        // @todo: What is this for ??
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(60, 60)->getAbsoluteURL(), 'image/png', '60x60');

        // For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≤ 6
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(72, 72)->getAbsoluteURL(), 'image/png', '72x72');

        // For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≥ 7
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(76, 76)->getAbsoluteURL(), 'image/png', '76x76');

        // For iPhone with @2× display running iOS ≤ 6
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(114, 114)->getAbsoluteURL(), 'image/png', '114x114');

        // For iPhone with @2× display running iOS ≥ 7
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(120, 120)->getAbsoluteURL(), 'image/png', '120x120');

        // For iPad with @2× display running iOS ≤ 6
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(144, 144)->getAbsoluteURL(), 'image/png', '144x144');

        // For iPad with @2× display running iOS ≥ 7
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(152, 152)->getAbsoluteURL(), 'image/png', '152x152');

        // For iPhone 6 Plus with @3× display
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(180, 180)->getAbsoluteURL(), 'image/png', '180x180');

    }
protected function GenerateIOSPinicon(SiteConfig $config, SiteTree $owner, &$metadata, Image $IOSPinicon) {

        // header
        $metadata .= $this->owner->MarkupComment('iOS Pinned Icon');

        //// iOS Pinicon Title
        if ($config->fetchPiniconTitle()) {
            $metadata .= $owner->MarkupMeta('apple-mobile-web-app-title', $config->fetchPiniconTitle());
        }

        //// iOS Pinned Icon

        // For non-Retina (@1× display) iPhone, iPod Touch, and Android 2.1+ devices
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(57, 57)->getAbsoluteURL(), 'image/png'); // 57×57

        // @todo: What is this for ??
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(60, 60)->getAbsoluteURL(), 'image/png', '60x60');

        // For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≤ 6
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(72, 72)->getAbsoluteURL(), 'image/png', '72x72');

        // For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≥ 7
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(76, 76)->getAbsoluteURL(), 'image/png', '76x76');

        // For iPhone with @2× display running iOS ≤ 6
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(114, 114)->getAbsoluteURL(), 'image/png', '114x114');

        // For iPhone with @2× display running iOS ≥ 7
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(120, 120)->getAbsoluteURL(), 'image/png', '120x120');

        // For iPad with @2× display running iOS ≤ 6
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(144, 144)->getAbsoluteURL(), 'image/png', '144x144');

        // For iPad with @2× display running iOS ≥ 7
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(152, 152)->getAbsoluteURL(), 'image/png', '152x152');

        // For iPhone 6 Plus with @3× display
        $metadata .= $owner->MarkupLink('apple-touch-icon', $IOSPinicon->Fill(180, 180)->getAbsoluteURL(), 'image/png', '180x180');

    }
Generates markup for the iOS pinicon

@param SiteConfig $config
@param SiteTree $owner
@param string $metadata
@param Image $IOSPinicon

@return void