You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sh...@apache.org on 2015/09/22 02:37:04 UTC
cordova-lib git commit: CB-9665 - Support .xcassets for icons and
splashscreens in the CLI
Repository: cordova-lib
Updated Branches:
refs/heads/master 1594c0afa -> 0c5bed6dd
CB-9665 - Support .xcassets for icons and splashscreens in the CLI
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/0c5bed6d
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/0c5bed6d
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/0c5bed6d
Branch: refs/heads/master
Commit: 0c5bed6dd141cf1d1156e09a62dc048c49cd6f8e
Parents: 1594c0a
Author: Shazron Abdullah <sh...@apache.org>
Authored: Thu Sep 17 17:31:28 2015 -0700
Committer: Shazron Abdullah <sh...@apache.org>
Committed: Mon Sep 21 17:41:01 2015 -0700
----------------------------------------------------------------------
cordova-lib/src/cordova/metadata/ios_parser.js | 48 +++++++++++++++------
1 file changed, 36 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c5bed6d/cordova-lib/src/cordova/metadata/ios_parser.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/cordova/metadata/ios_parser.js b/cordova-lib/src/cordova/metadata/ios_parser.js
index 2f089c3..dd1cc56 100644
--- a/cordova-lib/src/cordova/metadata/ios_parser.js
+++ b/cordova-lib/src/cordova/metadata/ios_parser.js
@@ -139,12 +139,21 @@ ios_parser.prototype.update_from_config = function(config) {
{dest: 'icon-50.png', width: 50, height: 50},
{dest: 'icon-50@2x.png', width: 100, height: 100}
];
+
+ var destIconsFolder, destSplashFolder;
+ var xcassetsExists = folderExists(path.join(platformRoot, 'Images.xcassets/'));
+
+ if (xcassetsExists) {
+ destIconsFolder = 'Images.xcassets/AppIcon.appiconset/';
+ } else {
+ destIconsFolder = 'Resources/icons/';
+ }
platformIcons.forEach(function (item) {
var icon = icons.getBySize(item.width, item.height) || icons.getDefault();
if (icon){
var src = path.join(appRoot, icon.src),
- dest = path.join(platformRoot, 'Resources/icons/', item.dest);
+ dest = path.join(platformRoot, destIconsFolder, item.dest);
events.emit('verbose', 'Copying icon from ' + src + ' to ' + dest);
shell.cp('-f', src, dest);
}
@@ -153,23 +162,29 @@ ios_parser.prototype.update_from_config = function(config) {
// Update splashscreens
var splashScreens = config.getSplashScreens('ios');
var platformSplashScreens = [
- {dest: 'Resources/splash/Default~iphone.png', width: 320, height: 480},
- {dest: 'Resources/splash/Default@2x~iphone.png', width: 640, height: 960},
- {dest: 'Resources/splash/Default-Portrait~ipad.png', width: 768, height: 1024},
- {dest: 'Resources/splash/Default-Portrait@2x~ipad.png', width: 1536, height: 2048},
- {dest: 'Resources/splash/Default-Landscape~ipad.png', width: 1024, height: 768},
- {dest: 'Resources/splash/Default-Landscape@2x~ipad.png', width: 2048, height: 1536},
- {dest: 'Resources/splash/Default-568h@2x~iphone.png', width: 640, height: 1136},
- {dest: 'Resources/splash/Default-667h.png', width: 750, height: 1334},
- {dest: 'Resources/splash/Default-736h.png', width: 1242, height: 2208},
- {dest: 'Resources/splash/Default-Landscape-736h.png', width: 2208, height: 1242}
+ {dest: 'Default~iphone.png', width: 320, height: 480},
+ {dest: 'Default@2x~iphone.png', width: 640, height: 960},
+ {dest: 'Default-Portrait~ipad.png', width: 768, height: 1024},
+ {dest: 'Default-Portrait@2x~ipad.png', width: 1536, height: 2048},
+ {dest: 'Default-Landscape~ipad.png', width: 1024, height: 768},
+ {dest: 'Default-Landscape@2x~ipad.png', width: 2048, height: 1536},
+ {dest: 'Default-568h@2x~iphone.png', width: 640, height: 1136},
+ {dest: 'Default-667h.png', width: 750, height: 1334},
+ {dest: 'Default-736h.png', width: 1242, height: 2208},
+ {dest: 'Default-Landscape-736h.png', width: 2208, height: 1242}
];
+
+ if (xcassetsExists) {
+ destSplashFolder = 'Images.xcassets/LaunchImage.launchimage/';
+ } else {
+ destSplashFolder = 'Resources/splash/';
+ }
platformSplashScreens.forEach(function(item) {
var splash = splashScreens.getBySize(item.width, item.height);
if (splash){
var src = path.join(appRoot, splash.src),
- dest = path.join(platformRoot, item.dest);
+ dest = path.join(platformRoot, destSplashFolder, item.dest);
events.emit('verbose', 'Copying splash from ' + src + ' to ' + dest);
shell.cp('-f', src, dest);
}
@@ -300,6 +315,15 @@ ios_parser.prototype.update_build_settings = function(config) {
return Q();
};
+function folderExists(folderPath) {
+ try {
+ var stat = fs.statSync(folderPath);
+ return stat && stat.isDirectory();
+ } catch (e) {
+ return false;
+ }
+}
+
// Construct a default value for CFBundleVersion as the version with any
// -rclabel stripped=.
function default_CFBundleVersion(version) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org