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

Vladimir Kotikov edited comment on CB-6992 at 6/20/14 9:33 AM:
---------------------------------------------------------------

Problem is coming from here: 
https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/metadata/ios_parser.js#L116
 when comparing {{name}} and {{this.originalName}}
At first look they are equal, e.g. following code:
{noformat}
        events.emit('warn', 'name: ' + name);
        events.emit('warn', 'this.originalName: ' + this.originalName);
{noformat}
will print
{noformat}
        name: umlaÜt
        this.originalName: umlaÜt
{noformat}
But in deeper look this stings are not equal!:
{noformat}
    function printString(str) {
        var bytes = [];
        for (var i = 0; i < str.length; ++i) {
            bytes.push(str.charCodeAt(i));
        }
        events.emit('warn', str + ': ' + bytes);
    }
{noformat}
{noformat}
    printString(name);
    printString(this.originalName);
{noformat}
will print 
{noformat}
        umlaÜt: 117,109,108,97,220,116
        umlaÜt: 117,109,108,97,85,776,116
{noformat}


was (Author: vladimir.kotikov):
Problem is coming from here: 
https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/metadata/ios_parser.js#L116
 when comparing {name} and {this.originalName}
At first look they are equal, e.g. following code:
{noformat}
        events.emit('warn', 'name: ' + name);
        events.emit('warn', 'this.originalName: ' + this.originalName);
{noformat}
will print
{noformat}
        name: umlaÜt
        this.originalName: umlaÜt
{noformat}
But in deeper look this stings are not equal!:
{noformat}
    function printString(str) {
        var bytes = [];
        for (var i = 0; i < str.length; ++i) {
            bytes.push(str.charCodeAt(i));
        }
        events.emit('warn', str + ': ' + bytes);
    }
{noformat}
{noformat}
    printString(name);
    printString(this.originalName);
{noformat}
will print 
{noformat}
        umlaÜt: 117,109,108,97,220,116
        umlaÜt: 117,109,108,97,85,776,116
{noformat}

> Projects with an app/display name with Ü fail to add the iOS platform
> ---------------------------------------------------------------------
>
>                 Key: CB-6992
>                 URL: https://issues.apache.org/jira/browse/CB-6992
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CLI, iOS
>    Affects Versions: 3.5.0
>         Environment: uname: Darwin 13.1.0 Darwin Kernel Version 13.1.0: Thu 
> Jan 16 19:40:37 PST 2014; root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64
> cordova-dev -v: 3.5.0-0.2.4
> cordova-lib: 0.21.3
> Node 0.10.26
>            Reporter: Vladimir Kotikov
>            Priority: Critical
>              Labels: cli, configParser, ios
>
> Repro steps:
> # cordova create test-umlaÜt com.test.umlaÜt umlaÜt
> # cd test-umlaÜt/
> # cordova platform add ios
> Platform add fails with following error:
> {noformat}
> mv: dest file already exists: 
> /Users/user/test/test-umlaÜt/platforms/ios/umlaÜt/umlaÜt-Info.plist
> mv: dest file already exists: 
> /Users/user/test/test-umlaÜt/platforms/ios/umlaÜt/umlaÜt-Prefix.pch
> shell.js: internal error
> Error: EINVAL, invalid argument 
> '/Users/user/test/test-umlaÜt/platforms/ios/umlaÜt.xcodeproj'
>     at Object.fs.renameSync (fs.js:543:18)
>     at 
> /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:495:8
>     at Array.forEach (native)
>     at Object._mv 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:471:11)
>     at Object.mv 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:1491:23)
>     at pbxProject.<anonymous> 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:145:27)
>     at pbxProject.EventEmitter.emit (events.js:98:17)
>     at pbxProject.<anonymous> 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/xcode/lib/pbxProject.js:30:18)
>     at ChildProcess.EventEmitter.emit (events.js:98:17)
>     at handleMessage (child_process.js:318:10)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to