cordova-res-builder: App Icons und Splash Screens erzeugen

Bei der Entwicklung von Cordova-Apps werden Icons und Splash Screens in unterschiedlichen Auflösungen benötigt. Bei der Suche nach einem geeigneten Tool für diese Aufgabe kam mir die Idee, ein passendes npm-Package einfach selbst zu basteln…

Zu finden ist das Package unter cordova-res-builder. Das Ausgangslogo sollte eine Größe von 2048×2048 Pixeln besitzen. Alle Launch Icons und Splash Screens für die Plattformen iOS und Android werden daraus automatisch generiert.

Der Output des NPM-Tools kann in die config.xml des Projektes eingefügt werden:

$ cordova-res-builder logo.png ccc res
---
Add the following lines to config.xml:
---
<icon platform="iOS" src="res/ios/icons/icon-40.png" width="40" height="40" />
<icon platform="Android" src="res/android/icons/icon_ldpi.png" density="ldpi" />
<icon platform="iOS" src="res/ios/icons/icon-small.png" width="29" height="29" />
...

In der Cordova-Dokumentation wird empfohlen, die Icons plattformspezifisch zu gruppieren. In einer der kommenden Versionen des cordova-res-builders wird dieses Feature ergänzt.

<!-- config.xml -->

<platform name="ios">
 <!-- iOS 8.0+ -->
 <!-- iPhone 6 Plus -->
 <icon src="res/ios/icon-60@3x.png" width="180" height="180" />
 <!-- iOS 7.0+ -->
 <!-- iPhone / iPod Touch -->
 <icon src="res/ios/icon-60.png" width="60" height="60" />
 <icon src="res/ios/icon-60@2x.png" width="120" height="120" />
 <!-- iPad -->
 <icon src="res/ios/icon-76.png" width="76" height="76" />
 <icon src="res/ios/icon-76@2x.png" width="152" height="152" />
 <!-- iOS 6.1 -->
 <!-- Spotlight Icon -->
 <icon src="res/ios/icon-40.png" width="40" height="40" />
 <icon src="res/ios/icon-40@2x.png" width="80" height="80" />
 <!-- iPhone / iPod Touch -->
 <icon src="res/ios/icon.png" width="57" height="57" />
 <icon src="res/ios/icon@2x.png" width="114" height="114" />
 <!-- iPad -->
 <icon src="res/ios/icon-72.png" width="72" height="72" />
 <icon src="res/ios/icon-72@2x.png" width="144" height="144" />
 <!-- iPhone Spotlight and Settings Icon -->
 <icon src="res/ios/icon-small.png" width="29" height="29" />
 <icon src="res/ios/icon-small@2x.png" width="58" height="58" />
 <!-- iPad Spotlight and Settings Icon -->
 <icon src="res/ios/icon-50.png" width="50" height="50" />
 <icon src="res/ios/icon-50@2x.png" width="100" height="100" />

 <!-- images are determined by width and height. The following are supported -->
 <splash src="res/screen/ios/Default~iphone.png" width="320" height="480"/>
 <splash src="res/screen/ios/Default@2x~iphone.png" width="640" height="960"/>
 <splash src="res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/>
 <splash src="res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
 <splash src="res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/>
 <splash src="res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
 <splash src="res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/>
 <splash src="res/screen/ios/Default-667h.png" width="750" height="1334"/>
 <splash src="res/screen/ios/Default-736h.png" width="1242" height="2208"/>
 <splash src="res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/>
</platform>

<platform name="android">
 <icon src="res/android/ldpi.png" density="ldpi" />
 <icon src="res/android/mdpi.png" density="mdpi" />
 <icon src="res/android/hdpi.png" density="hdpi" />
 <icon src="res/android/xhdpi.png" density="xhdpi" />

 <!-- you can use any density that exists in the Android project -->
 <splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
 <splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
 <splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
 <splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>

 <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
 <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
 <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
 <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
</platform>

Ich freue mich über Feedback aller Art :-)

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


9 + = 17