base64qr-codephotovcf-vcard

Does native iPhone camera allow vCard-encoded-as-QR-code to have PHOTO's?


I've been testing this every which way and I can't get the vCard PHOTO to render when the QR code is scanned.

Does the native iPhone camera QR reader allow base64 encoded PHOTO's?

Image file:

enter image description here

Base64 encoded .png image:

iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAAA3NCSVQICAjb4U/gAAAAl3pUWHRSYXcgcHJvZmlsZSB0eXBlIEFQUDEAABiVVY5RCsQwCET/c4oeYdTEJMcJJV0Ky7b0/h+bNHa7fYIjI4y6V/3UY52n/diW9V3d1CFKzmefuQBIGDAgBOqKaJYO1ZwifBvI/IoHPurSKuqs4TSktzxyPMwSbtUyythb1k9Dwf+NcP11wbbjOzOwZEnmPW+RjCdO3BdH2DYTyjfH2QAABONJREFUWIXtV8tvVkUU/50zc+/X+319fA+oLaXlUWMFUYwYIwHRBBWNutDEraxcGN2Y4Ir/wIXuSFy4MCxITEiMwUQWJE3AVDColYKCWFqg7/br43vex8xx8fWSJm0praRN1N/i5N7JzPxmzpzzOzN0/NRBggUERCKEhwUCZHGbADUK0rUfAZEQLe67Ziw1k4CJLISELIMs5pfx8FiXAUEgJCQkzPHe1xHCgNkAYoIAiteZNYZsFDF4HWJqSehKOAiJAAaYuY7I05RiYgILsHQ+roz5UQQRSCSBtRUrZZEAEEBALl26/n1CewCCqDpbzk8UBgemLgzPnNE6U6c6NSXW5BAByJd8EN1iSXZuendrZk+moa2hLq2VtjYqBWWyUjU2IBCzQ0jUxpWC6Ru3f/vxxqm+sS883eyoVsVJwsoBYSWK7Jxvfmdg/45P9z36+vbWLoYDADCC0NiIiBU59Nl52Ng7DpD2DrU3vtqZe6U9uxdI+GHx2u3LvQPnro58GZhhpdKaNjMlmByCAsQishJaW4pk1Bg/lzz8dMc7T247tLP1CYD8KN8/0dOfPztSPFsKb5j42BRAJ3ra4kwWgREpRigZCy14PHu8q/mNbbm9QBLA5NzQ8GT/2OzgxNydOX+0GpaYOOmmM17b5saO1kxHa66z3ksDqEbjf41fujp+8m7ha1ZQDIUswYsFkgiGTvRsBUm855pDFEEEkbVjoQCC7Y3v78wcaWnalUu1aW5aysemHE5NFm8NzfT+mT85UbmgGZoUczPAgIUokK1RCIggC4mXgzEyagTWgiwSDpqc15JOu1b1AhOG04Xoj0LwU2BACoqgKMXUdB9BrBHrFeMFUIraFAmYawEyE3bngyrmvaSJUswtnlqd+j4IcUwBAZiQALmK7nHUSuyq031tkkmLvled7Rup1f8T/+uJyc6XKiC2awzUxZB5QwusECwAXQqHEbMxQQiaoCjBlP3n1zESa2TEAEZAAhPvThhUDkc0uwQOJSj7xUJlbKL458386eHit1pBs2ZqXv0KTCSjkYECOtMfd2ReyibbU3U5z/EUORYmiCp05erlaugTyHV1Y306k9nUWJ8G4JvJm2MX+sa/Gip8wwrMUJRluADHKsWAQIggQiKAlbyVqrFgoCv3ya7mt7dl9wEuYCbzkzOzk6VyOQwjpeDVpejND1xGEoBIxVjfD5Fr2Hnk+Y8OPnf4sc6nAIR2un/il1vT5+7OnpwL7lAsyTV+S4BALBSQS768Pf3WjuyLbendgFOtln7uu9jdc+Z87+cGcDWYGwgKIGtDeu/YAa75naR2yRIxQTRbqFxPuu1H9n+4/9nDXZ17tHIBRDI3Wx6Zq0yUw0JkSgR2nVTKyTUmm5vqWgAXwGxhqu9ab/fF0z9cOZFwNicTW7ROxWFEJADIkqWjxw4sd1Ai1g8LZf+m71f37Tr6zO4XdnTsfmRTa1NjUyLhOcoVkSDyq9VyfnpqaHTg5uCVnl+/GxjrrvdaPHeLo+uWCQ4S3Jc47mZFOLLlICoGYT40U2EEV0OzJwjDKDIWrgNXtTtOg6MbNOk4eZadUWAfoCyKIsDhpOMmU25zremeAd0ri1hQHFfOggepx4uVhBZMTvftuSz+i1q9ccTr/jCHALSR7+MNeaaSltpNf43P0TVAAGaYvwGacDT8xUxN5gAAAABJRU5ErkJggg==

vCard:

BEGIN:VCARD
VERSION:3.0
FN:Test
TEL;TYPE=CELL:(206) 555-1212
PHOTO;ENCODING=BASE64;TYPE=PNG:iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAAA3NCSVQICAjb4U/gAAAAl3pUWHRSYXcgcHJvZmlsZSB0eXBlIEFQUDEAABiVVY5RCsQwCET/c4oeYdTEJMcJJV0Ky7b0/h+bNHa7fYIjI4y6V/3UY52n/diW9V3d1CFKzmefuQBIGDAgBOqKaJYO1ZwifBvI/IoHPurSKuqs4TSktzxyPMwSbtUyythb1k9Dwf+NcP11wbbjOzOwZEnmPW+RjCdO3BdH2DYTyjfH2QAABONJREFUWIXtV8tvVkUU/50zc+/X+319fA+oLaXlUWMFUYwYIwHRBBWNutDEraxcGN2Y4Ir/wIXuSFy4MCxITEiMwUQWJE3AVDColYKCWFqg7/br43vex8xx8fWSJm0praRN1N/i5N7JzPxmzpzzOzN0/NRBggUERCKEhwUCZHGbADUK0rUfAZEQLe67Ziw1k4CJLISELIMs5pfx8FiXAUEgJCQkzPHe1xHCgNkAYoIAiteZNYZsFDF4HWJqSehKOAiJAAaYuY7I05RiYgILsHQ+roz5UQQRSCSBtRUrZZEAEEBALl26/n1CewCCqDpbzk8UBgemLgzPnNE6U6c6NSXW5BAByJd8EN1iSXZuendrZk+moa2hLq2VtjYqBWWyUjU2IBCzQ0jUxpWC6Ru3f/vxxqm+sS883eyoVsVJwsoBYSWK7Jxvfmdg/45P9z36+vbWLoYDADCC0NiIiBU59Nl52Ng7DpD2DrU3vtqZe6U9uxdI+GHx2u3LvQPnro58GZhhpdKaNjMlmByCAsQishJaW4pk1Bg/lzz8dMc7T247tLP1CYD8KN8/0dOfPztSPFsKb5j42BRAJ3ra4kwWgREpRigZCy14PHu8q/mNbbm9QBLA5NzQ8GT/2OzgxNydOX+0GpaYOOmmM17b5saO1kxHa66z3ksDqEbjf41fujp+8m7ha1ZQDIUswYsFkgiGTvRsBUm855pDFEEEkbVjoQCC7Y3v78wcaWnalUu1aW5aysemHE5NFm8NzfT+mT85UbmgGZoUczPAgIUokK1RCIggC4mXgzEyagTWgiwSDpqc15JOu1b1AhOG04Xoj0LwU2BACoqgKMXUdB9BrBHrFeMFUIraFAmYawEyE3bngyrmvaSJUswtnlqd+j4IcUwBAZiQALmK7nHUSuyq031tkkmLvled7Rup1f8T/+uJyc6XKiC2awzUxZB5QwusECwAXQqHEbMxQQiaoCjBlP3n1zESa2TEAEZAAhPvThhUDkc0uwQOJSj7xUJlbKL458386eHit1pBs2ZqXv0KTCSjkYECOtMfd2ReyibbU3U5z/EUORYmiCp05erlaugTyHV1Y306k9nUWJ8G4JvJm2MX+sa/Gip8wwrMUJRluADHKsWAQIggQiKAlbyVqrFgoCv3ya7mt7dl9wEuYCbzkzOzk6VyOQwjpeDVpejND1xGEoBIxVjfD5Fr2Hnk+Y8OPnf4sc6nAIR2un/il1vT5+7OnpwL7lAsyTV+S4BALBSQS768Pf3WjuyLbendgFOtln7uu9jdc+Z87+cGcDWYGwgKIGtDeu/YAa75naR2yRIxQTRbqFxPuu1H9n+4/9nDXZ17tHIBRDI3Wx6Zq0yUw0JkSgR2nVTKyTUmm5vqWgAXwGxhqu9ab/fF0z9cOZFwNicTW7ROxWFEJADIkqWjxw4sd1Ai1g8LZf+m71f37Tr6zO4XdnTsfmRTa1NjUyLhOcoVkSDyq9VyfnpqaHTg5uCVnl+/GxjrrvdaPHeLo+uWCQ4S3Jc47mZFOLLlICoGYT40U2EEV0OzJwjDKDIWrgNXtTtOg6MbNOk4eZadUWAfoCyKIsDhpOMmU25zremeAd0ri1hQHFfOggepx4uVhBZMTvftuSz+i1q9ccTr/jCHALSR7+MNeaaSltpNf43P0TVAAGaYvwGacDT8xUxN5gAAAABJRU5ErkJggg==
END:VCARD

Resulting QR code:

enter image description here

How it renders once scanned:

enter image description here


Solution

  • After VERSION:3.0 add another line

    PRODID:-//Apple Inc.//iPhone OS 12.3.1//EN

    And it works. Working on iPhone

    Full VCARD for QR Generation (as text)

    BEGIN:VCARD
    VERSION:3.0
    PRODID:-//Apple Inc.//iPhone OS 12.3.1//EN
    FN:Test
    TEL;TYPE=CELL:(206) 555-1212
    PHOTO;ENCODING=BASE64;TYPE=PNG:iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAAA3NCSVQICAjb4U/gAAAAl3pUWHRSYXcgcHJvZmlsZSB0eXBlIEFQUDEAABiVVY5RCsQwCET/c4oeYdTEJMcJJV0Ky7b0/h+bNHa7fYIjI4y6V/3UY52n/diW9V3d1CFKzmefuQBIGDAgBOqKaJYO1ZwifBvI/IoHPurSKuqs4TSktzxyPMwSbtUyythb1k9Dwf+NcP11wbbjOzOwZEnmPW+RjCdO3BdH2DYTyjfH2QAABONJREFUWIXtV8tvVkUU/50zc+/X+319fA+oLaXlUWMFUYwYIwHRBBWNutDEraxcGN2Y4Ir/wIXuSFy4MCxITEiMwUQWJE3AVDColYKCWFqg7/br43vex8xx8fWSJm0praRN1N/i5N7JzPxmzpzzOzN0/NRBggUERCKEhwUCZHGbADUK0rUfAZEQLe67Ziw1k4CJLISELIMs5pfx8FiXAUEgJCQkzPHe1xHCgNkAYoIAiteZNYZsFDF4HWJqSehKOAiJAAaYuY7I05RiYgILsHQ+roz5UQQRSCSBtRUrZZEAEEBALl26/n1CewCCqDpbzk8UBgemLgzPnNE6U6c6NSXW5BAByJd8EN1iSXZuendrZk+moa2hLq2VtjYqBWWyUjU2IBCzQ0jUxpWC6Ru3f/vxxqm+sS883eyoVsVJwsoBYSWK7Jxvfmdg/45P9z36+vbWLoYDADCC0NiIiBU59Nl52Ng7DpD2DrU3vtqZe6U9uxdI+GHx2u3LvQPnro58GZhhpdKaNjMlmByCAsQishJaW4pk1Bg/lzz8dMc7T247tLP1CYD8KN8/0dOfPztSPFsKb5j42BRAJ3ra4kwWgREpRigZCy14PHu8q/mNbbm9QBLA5NzQ8GT/2OzgxNydOX+0GpaYOOmmM17b5saO1kxHa66z3ksDqEbjf41fujp+8m7ha1ZQDIUswYsFkgiGTvRsBUm855pDFEEEkbVjoQCC7Y3v78wcaWnalUu1aW5aysemHE5NFm8NzfT+mT85UbmgGZoUczPAgIUokK1RCIggC4mXgzEyagTWgiwSDpqc15JOu1b1AhOG04Xoj0LwU2BACoqgKMXUdB9BrBHrFeMFUIraFAmYawEyE3bngyrmvaSJUswtnlqd+j4IcUwBAZiQALmK7nHUSuyq031tkkmLvled7Rup1f8T/+uJyc6XKiC2awzUxZB5QwusECwAXQqHEbMxQQiaoCjBlP3n1zESa2TEAEZAAhPvThhUDkc0uwQOJSj7xUJlbKL458386eHit1pBs2ZqXv0KTCSjkYECOtMfd2ReyibbU3U5z/EUORYmiCp05erlaugTyHV1Y306k9nUWJ8G4JvJm2MX+sa/Gip8wwrMUJRluADHKsWAQIggQiKAlbyVqrFgoCv3ya7mt7dl9wEuYCbzkzOzk6VyOQwjpeDVpejND1xGEoBIxVjfD5Fr2Hnk+Y8OPnf4sc6nAIR2un/il1vT5+7OnpwL7lAsyTV+S4BALBSQS768Pf3WjuyLbendgFOtln7uu9jdc+Z87+cGcDWYGwgKIGtDeu/YAa75naR2yRIxQTRbqFxPuu1H9n+4/9nDXZ17tHIBRDI3Wx6Zq0yUw0JkSgR2nVTKyTUmm5vqWgAXwGxhqu9ab/fF0z9cOZFwNicTW7ROxWFEJADIkqWjxw4sd1Ai1g8LZf+m71f37Tr6zO4XdnTsfmRTa1NjUyLhOcoVkSDyq9VyfnpqaHTg5uCVnl+/GxjrrvdaPHeLo+uWCQ4S3Jc47mZFOLLlICoGYT40U2EEV0OzJwjDKDIWrgNXtTtOg6MbNOk4eZadUWAfoCyKIsDhpOMmU25zremeAd0ri1hQHFfOggepx4uVhBZMTvftuSz+i1q9ccTr/jCHALSR7+MNeaaSltpNf43P0TVAAGaYvwGacDT8xUxN5gAAAABJRU5ErkJggg==
    END:VCARD
    

    QR Code

    Google Charts API Example (URL Encoded vCard Data)

    https://chart.googleapis.com/chart?cht=qr&chs=500x500&chl=BEGIN%3AVCARD%0AVERSION%3A3.0%0APRODID%3A-%2F%2FApple%20Inc.%2F%2FiPhone%20OS%2012.3.1%2F%2FEN%0AFN%3ATest%0ATEL%3BTYPE%3DCELL%3A%28206%29%20555-1212%0APHOTO%3BENCODING%3DBASE64%3BTYPE%3DPNG%3AiVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAAA3NCSVQICAjb4U%2FgAAAAl3pUWHRSYXcgcHJvZmlsZSB0eXBlIEFQUDEAABiVVY5RCsQwCET%2Fc4oeYdTEJMcJJV0Ky7b0%2Fh%2BbNHa7fYIjI4y6V%2F3UY52n%2FdiW9V3d1CFKzmefuQBIGDAgBOqKaJYO1ZwifBvI%2FIoHPurSKuqs4TSktzxyPMwSbtUyythb1k9Dwf%2BNcP11wbbjOzOwZEnmPW%2BRjCdO3BdH2DYTyjfH2QAABONJREFUWIXtV8tvVkUU%2F50zc%2B%2FX%2B319fA%2BoLaXlUWMFUYwYIwHRBBWNutDEraxcGN2Y4Ir%2FwIXuSFy4MCxITEiMwUQWJE3AVDColYKCWFqg7%2Fbr43vex8xx8fWSJm0praRN1N%2Fi5N7JzPxmzpzzOzN0%2FNRBggUERCKEhwUCZHGbADUK0rUfAZEQLe67Ziw1k4CJLISELIMs5pfx8FiXAUEgJCQkzPHe1xHCgNkAYoIAiteZNYZsFDF4HWJqSehKOAiJAAaYuY7I05RiYgILsHQ%2Broz5UQQRSCSBtRUrZZEAEEBALl26%2Fn1CewCCqDpbzk8UBgemLgzPnNE6U6c6NSXW5BAByJd8EN1iSXZuendrZk%2Bmoa2hLq2VtjYqBWWyUjU2IBCzQ0jUxpWC6Ru3f%2Fvxxqm%2BsS883eyoVsVJwsoBYSWK7Jxvfmdg%2F45P9z36%2BvbWLoYDADCC0NiIiBU59Nl52Ng7DpD2DrU3vtqZe6U9uxdI%2BGHx2u3LvQPnro58GZhhpdKaNjMlmByCAsQishJaW4pk1Bg%2Flzz8dMc7T247tLP1CYD8KN8%2F0dOfPztSPFsKb5j42BRAJ3ra4kwWgREpRigZCy14PHu8q%2FmNbbm9QBLA5NzQ8GT%2F2OzgxNydOX%2B0GpaYOOmmM17b5saO1kxHa66z3ksDqEbjf41fujp%2B8m7ha1ZQDIUswYsFkgiGTvRsBUm855pDFEEEkbVjoQCC7Y3v78wcaWnalUu1aW5aysemHE5NFm8NzfT%2BmT85UbmgGZoUczPAgIUokK1RCIggC4mXgzEyagTWgiwSDpqc15JOu1b1AhOG04Xoj0LwU2BACoqgKMXUdB9BrBHrFeMFUIraFAmYawEyE3bngyrmvaSJUswtnlqd%2Bj4IcUwBAZiQALmK7nHUSuyq031tkkmLvled7Rup1f8T%2F%2BuJyc6XKiC2awzUxZB5QwusECwAXQqHEbMxQQiaoCjBlP3n1zESa2TEAEZAAhPvThhUDkc0uwQOJSj7xUJlbKL458386eHit1pBs2ZqXv0KTCSjkYECOtMfd2ReyibbU3U5z%2FEUORYmiCp05erlaugTyHV1Y306k9nUWJ8G4JvJm2MX%2Bsa%2FGip8wwrMUJRluADHKsWAQIggQiKAlbyVqrFgoCv3ya7mt7dl9wEuYCbzkzOzk6VyOQwjpeDVpejND1xGEoBIxVjfD5Fr2Hnk%2BY8OPnf4sc6nAIR2un%2Fil1vT5%2B7OnpwL7lAsyTV%2BS4BALBSQS768Pf3WjuyLbendgFOtln7uu9jdc%2BZ87%2BcGcDWYGwgKIGtDeu%2FYAa75naR2yRIxQTRbqFxPuu1H9n%2B4%2F9nDXZ17tHIBRDI3Wx6Zq0yUw0JkSgR2nVTKyTUmm5vqWgAXwGxhqu9ab%2FfF0z9cOZFwNicTW7ROxWFEJADIkqWjxw4sd1Ai1g8LZf%2Bm71f37Tr6zO4XdnTsfmRTa1NjUyLhOcoVkSDyq9VyfnpqaHTg5uCVnl%2B%2FGxjrrvdaPHeLo%2BuWCQ4S3Jc47mZFOLLlICoGYT40U2EEV0OzJwjDKDIWrgNXtTtOg6MbNOk4eZadUWAfoCyKIsDhpOMmU25zremeAd0ri1hQHFfOggepx4uVhBZMTvftuSz%2Bi1q9ccTr%2FjCHALSR7%2BMNeaaSltpNf43P0TVAAGaYvwGacDT8xUxN5gAAAABJRU5ErkJggg%3D%3D%0AEND%3AVCARD