11 月 2011

[译]iOS Developer Library Technical Q&A QA1544 Obtaining the localized application name in Cocoa

比较实用,翻译一下,留作日后参考,E文原文:http://developer.apple.com/library/mac/#qa/qa1544/_index.html

获取Cocoa应用程序的本地化名称

Q:如何取得我的Cocoa应用程序的本地化名称?

A:应用程序名称有一些不同的版本,但都可以以NSString的形式获得。根据你的具体需要,可以用以下五种方法:

警告:请注意用户可以用Finder修改应用程序包。如果你想取得的是可能被用户修改过的应用程序名称,那就用第5种方法介绍的NSFileManager实现。

应用程序的别名(short name)由CFBundleName定义,常用在菜单或关于对话框中。

1:从main bundle中获取应用程序的简名(short name)。

NSString *appName =          [[[NSBundle mainBundle] localizedInfoDictionary] objectForKey:(NSString *)kCFBundleNameKey];

应用程序的“显示名称”一般都比较长,用在Finder中显示bundle名字。

Continue reading…

Xcode4中code sign identity选项值不出下拉选择框的解决方法

问题出现时的系统、软件版本:

Mac OS X 10.6.8 (10K549)

Xcode Version 4.0.2 Build 4A2002a

出问题时的现象:

 

 

如上两图所示:选签证的选项不显示下拉选择框反而是个普通的文本编辑框,上面的SDK架构什么的也是一样,发现这个问题其实是由于一个provision profile过期,要更换一下而已…
Continue reading…

Copy .strings file Error Validation failed: The data couldn’t be read because it has been corrupted.

XCode中iOS项目字符串资源InfoPlist.strings添加多语言支持后,修改中文资源中字符串常量为汉字后编译出现标题中的错误,解决方法为修改各语言资源中的文本格式,使其结构一致,如出错时的中英文资源是这样的:

{

CFBundleDisplayName = “\U71af\U72a2+”;

}

{

CFBundleDisplayName = Game+;

}

修改英文资源为这样即可解决:

{

CFBundleDisplayName = “Game+”;

}