[ 
https://issues.apache.org/jira/browse/CB-11019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15245853#comment-15245853
 ] 

ASF GitHub Bot commented on CB-11019:
-------------------------------------

Github user vladimir-kotikov closed the pull request at:

    https://github.com/apache/cordova-ios/pull/213


> Cordova ios handles project rename incorrectly
> ----------------------------------------------
>
>                 Key: CB-11019
>                 URL: https://issues.apache.org/jira/browse/CB-11019
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 4.1.0
>            Reporter: Vladimir Kotikov
>            Assignee: Vladimir Kotikov
>              Labels: ios, prepare, triaged
>             Fix For: 4.1.2
>
>
> When application name is changed in `config.xml`, following call to `prepare` 
> changes the ios project structure within {{platforms/ios}} directory. Though 
> some internal properties of ios platformApi are not changed and still point 
> to old paths. This causes the following `plugn add` call to fail.
> Notice that the bug can be reproduced only if {{prepare}} and {{plugin add}} 
> bot h called within one node process, i.e. programmatically.
> Here is a snippet that can help reproduce the problem (run {{npm install 
> [email protected]}} first):
> {code}
> var Q = require('q');
> var tmp = require('tmp');
> var path = require('path');
> var shell = require('shelljs');
> var events = require('cordova-lib').events;
> var cordova = require('cordova-lib').cordova;
> events.on('log', console.log).on('warn', console.warn);
> var CORDOVA = path.resolve('./node_modules/cordova/bin/cordova');
> // This is a repro for issue, similar to CB-10961 but it does repro even with 
> the
> // fix for CB-10965 (https://issues.apache.org/jira/browse/CB-10965) checked 
> in
> var case2 = Q(tmp.dirSync().name)
> .then(function (tempDir) {
>     shell.exec(CORDOVA + ' create ' + tempDir + ' com.app1 app1 -d');
>     shell.pushd(tempDir);
> })
> .then(function () {
>     return cordova.raw.platform('add', ['d:/cordova/cordova-ios']);
> })
> .then(function () {
>     shell.sed('-i', '<name>app1</name>', '<name>app2</name>', 'config.xml');
>     return cordova.raw.prepare([PLATFORM]);
> })
> .then(function () {
>     return cordova.raw.plugin('add', ['cordova-plugin-camera'], {save: true});
> });
> {code}
> The snippet above will throw the following error (similar to what described 
> in CB-10961)
> {noformat}
> Failed to install 'cordova-plugin-camera':Error: ENOENT: no such file or 
> directory, open 
> 'C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\app1.xcodeproj\project.pbxproj'
>     at Error (native)
>     at Object.fs.openSync (fs.js:584:18)
>     at Object.fs.writeFileSync (fs.js:1224:33)
>     at Object.cachedProjectFiles.(anonymous function).write 
> (C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\cordova\lib\projectFile.js:73:16)
>     at 
> C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\cordova\lib\plugman\Plugman.js:84:21
>     at _fulfilled 
> (C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\cordova\node_modules\q\q.js:834:54)
>     at self.promiseDispatch.done 
> (C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\cordova\node_modules\q\q.js:863:30)
>     at Promise.promise.promiseDispatch 
> (C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\cordova\node_modules\q\q.js:796:13)
>     at 
> C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\cordova\node_modules\q\q.js:857:14
>     at runSingle 
> (C:\Users\VLADIM~1.KOT\AppData\Local\Temp\tmp-13756pWNNAgPv8e9b\platforms\ios\cordova\node_modules\q\q.js:137:13)
> {noformat}
> even after fix for CB-10965 applied (checked in cordova-common with patch for 
> CB-10965 merged in)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to