summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios/cordova/lib/run.js
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/ios/cordova/lib/run.js')
-rwxr-xr-xStoneIsland/platforms/ios/cordova/lib/run.js29
1 files changed, 28 insertions, 1 deletions
diff --git a/StoneIsland/platforms/ios/cordova/lib/run.js b/StoneIsland/platforms/ios/cordova/lib/run.js
index 68c315a5..0caadf06 100755
--- a/StoneIsland/platforms/ios/cordova/lib/run.js
+++ b/StoneIsland/platforms/ios/cordova/lib/run.js
@@ -69,10 +69,37 @@ module.exports.run = function (runOptions) {
return build.findXCodeProjectIn(projectPath);
}).then(function (projectName) {
var appPath = path.join(projectPath, 'build', 'emulator', projectName + '.app');
+ var buildOutputDir = path.join(projectPath, 'build', 'device');
+
// select command to run and arguments depending whether
// we're running on device/emulator
if (useDevice) {
- return checkDeviceConnected().then(function () {
+ return checkDeviceConnected()
+ .then(function() {
+ // Unpack IPA
+ var ipafile = path.join(buildOutputDir, projectName + '.ipa');
+
+ // unpack the existing platform/ios/build/device/appname.ipa (zipfile), will create a Payload folder
+ return spawn('unzip', [ '-o', '-qq', ipafile ], buildOutputDir);
+ })
+ .then(function() {
+ // Uncompress IPA (zip file)
+ var appFileInflated = path.join(buildOutputDir, 'Payload', projectName + '.app');
+ var appFile = path.join(buildOutputDir, projectName + '.app');
+ var payloadFolder = path.join(buildOutputDir, 'Payload');
+
+ // delete the existing platform/ios/build/device/appname.app
+ return spawn('rm', [ '-rf', appFile ], buildOutputDir)
+ .then(function() {
+ // move the platform/ios/build/device/Payload/appname.app to parent
+ return spawn('mv', [ '-f', appFileInflated, buildOutputDir ], buildOutputDir);
+ })
+ .then(function() {
+ // delete the platform/ios/build/device/Payload folder
+ return spawn('rm', [ '-rf', payloadFolder ], buildOutputDir);
+ });
+ })
+ .then(function() {
appPath = path.join(projectPath, 'build', 'device', projectName + '.app');
var extraArgs = [];
if (runOptions.argv) {