Images not rendering on iOS but fine in browser

AFAIK, when your image is located in www/img then you should reference it as img/key.png from your HTML files or as ../../img/key.png from your SCSS files.

I just tried this and it works in Chrome and when deployed to an Android device (I can’t test it on iOS though):

.ion-ios-key::before, .ion-md-key::before {
    max-height: 32px;
    content: url(../../img/key.png);
}

You could try to insert the image in one of the pages (i.e. <img src="img/key.png">) to check if it’s present after deploying to iOS (this way you’ll know if it’s a problem with the file or something with the styles).