NSData-Extension für MIME-Type Informationen

von tobonaut

Manchmal ist es interessant aus einem NSData-Objekt den dahinterliegende MIME-Type herauszufinden. Dank der Extension-Fähigkeit von Swift lässt sich dies schnell nachrüsten. Hierbei fragt man sich, warum so etwas nicht bereits als Computed Property seitens der Foundation bereit gestellt wird.

Swift Extension

Wie auch immer. Die Prüfungen um welchen MIME-Type es sich handelt basiert auf der Überprüfung des ersten Bytes des NSData-Objektes. Diese Methode ist nicht immer ganz korrekt da beispielsweise *.mp4 und *.aac Dateien das gleiche erste Byte besitzen. Für meinen Anspruch langt dies jedoch völlig auf.  Neben einem Enum findet man simple myData.isXyz-Computed Properties als auch eine stringValue Property um beispielsweise für eine UIWebView den geforderten MIME-Type String befallen zu können.
Übersicht Byte MimeCharts

Die Extension findet man als Gist auf Github und beruht auf Ideen aus diesem Stackoverflow Post als auch auf der MIME-Type Identifikationsliste (siehe Abbildung oben) von Gary Kessler . Vielen Dank für das Bereitstellen dieser Informationen. Das Internet ist super.

Advertisements