[
https://issues.apache.org/jira/browse/CB-6992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14038616#comment-14038616
]
Vladimir Kotikov commented on CB-6992:
--------------------------------------
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)