When iOS cannot find a suitable icon, it generates a miniature of the page as a replacement. Is your page mainly dark? If so, that (partly) explains the black icon.
Your code is correct, yet there are two discrepancies regarding iOS7, which changes the rules:
- The sizes have changed. For example the 72x72 picture should now be 76x76 since iOS7. Well, iOS7 can cope with the old sizes, so this is not the explanation for what you observe.
- The precomposed pictures are now deprecated. No more
apple-touch-icon-precomposed
, onlyapple-touch-icon
are supported. This probably explains why your icon fails on the home screen.
See Apple references for new sizes, expected HTML code, etc.
In order to create the suitable pictures and HTML code, you can use this favicon generator. Full disclosure: I am the author of this site.