App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的名字就是Xcode在建立工程时的名字。好的习惯是工程建立时使用英文(pinyin),那么App也就是“英文”名字了,虽然Xcode也支持直接用中文命名工程(甚至是方法名……),但有时也会因此产生一些不必要的麻烦甚至莫名其妙的bug。
本文主要介绍两种设置App名称的方法,第一种较为简单,第二种涉及简单的版本国际化与本地化(Localization)的问题。

1.Bundle display name

先看此方法的具体设置步骤:

建立工程如下,如果不设置App名,默认的App名就是工程名了。

点击工程-TARGETS-Info,添加“Bundle display name”,string值填写要设置的App名称。

再次编译,效果如下,这个方法就是这么简单了。

具体也没太多好说的,检索App名称设置时,大部分答案也是这个,因为比较简单。

这里提一下Bundle name和Bundle display name:

Bundle name - is folder name, where your app (including executable file and all resources) will be stored (Cool Program.app)。建议不要修改bundle name
Bundle display name - is what will be shown on iPhone screen,即当你安装该app到iPhone上显示的name。
注意:Bundle Display name must correspond to Bundle name,即bundle display name和bundle name不能相差太远。例如bundle name设置为 TheApplication, 而 bundle display name设置为“金瓶梅”,则apple会拒绝你的app。

2.InfoPlist.strings->CFBundleDisplayName

这种方法较为繁琐,但是可以支持多语言版本名称的设置,即Localization,也先看具体步骤:

新建一个Strings File,命名应该不一定非得是InfoPlist.strings,应该是沿用习惯。

点击工程-PROJECT-Info-Localizations,添加简体中文支持,如果想支持繁体,也可继续添加,其他语言亦然。

点击之前创建的InfoPlist.strings - 点击右边的“Localizion”- 添加简体中文

可以选择支持英文

分别设置中英文名字

“CFBundleDisplayName” = “中文名字”;

“CFBundleDisplayName” = “EnglishName”;

名字字符串自己填写就好,这里只是示范

编译工程

分别切换模拟器的设置中的语言至中英文模式,分别查看appiocn下面的名字的变化:

3.关于默认语言的设置:Localization native development region

Xcode建立工程时,默认语言环境是英文,所以在调用一些系统空间时(例如相机相册),其控制按键的标题都是英文显示的状态,快速的设置方法就是设置Localization native development region的值,具体步骤可以参考此文:Localization native development region 更改语言无效 中的第一段内容。

  1. Localizations版本国际化

这个就是为了让APP支持多国语言环境,最好的Demo应该是环信的官方Demo,这里只是介绍一下简单的用法:

同添加InfoPlist.strings的做法相同,添加一个Localizable.strings文件对应中英文(其他语言自行添加),分别添加下列语句:
"alertTitle" = "标题";
"alertMessage" = "信息";
"alertOk" = "确认";
"alertOther" = "其他";"alertTitle" = "title";
"alertMessage" = "message";
"alertOk" = "confirm";
"alertOther" = "other";

关于上述的key和value,只是示范,可自行定义,调用这些key-value需要利用NSLocalizedString(<#key#>, <#comment#>)系统宏,例如:NSLocalizedString(@”alertTitle”, @”这是一句注解,根据情况写”),第一个参数即在strings文件中自定义的key,根据不同的语言环境,系统会自动检测这个key对应的value(中文还是英文),第二个参数是注释,为了便于理解,可以为nil。
实际用例:

- (void)createAlertViewWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancel:(NSString *)cancel andOther:(NSString *)other{UIAlertView * alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:delegate cancelButtonTitle:cancel otherButtonTitles:other, nil];[alert show];}//调用[self createAlertViewWithTitle:NSLocalizedString(@"alertTitle", @"这是一句注解,根据情况写") message:NSLocalizedString(@"alertMessage", @"") delegate:nil cancel:NSLocalizedString(@"alertOk", nil) andOther:NSLocalizedString(@"alertOther", nil)];

分别设置系统的语言环境至中英文模式,效果如下:

上面的写法看起来比习惯上直接写string去设置标题要麻烦许多,但是常用的标题可以进行二次宏定义管理,那样不仅使用方便,还便于统一管理。
看一下环信Demo中的示范:

本文只是简单介绍相关的用法,至于详细的说明,可以参考文章最后列出的参考文章,里面有不少不错的详细讲义
原创:http://www.cocoachina.com/appstore/20160310/15632.html

iOS设置App的名称和简单的版本国际化与本地化相关推荐

  1. iOS 设置app语言中文,比如 copy中文,拍照按钮cancel 中文

    iOS 设置app语言中文,比如 copy中文,拍照按钮cancel 中文 一:如何设置项目中文环境 targets--->Locatization native development reg ...

  2. ios设置App版本号

    刚接触ios开发的童鞋应该会对于app版本号吗有些疑问,因为target不仅仅在summary中有版本号,同样在Info.plist等地方也有版本号码的地方,一头乱码,不知吗?其实xcode在summ ...

  3. iOS开发 - App语言国际化

    前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要 ...

  4. 浅识Flutter Android studio 设置APP启动页

    Flutter Android studio 设置APP名启动页 Android设置APP启动页 ios设置APP启动页 APP的应用一打开,启动应用程序后,进入主功能界面前会有一张图片或一段动画效果 ...

  5. [App Store Connect帮助]一、 App Store Connect 使用入门(4)iOS 版 App Store Connect

    通过 iOS 版 App Store Connect,您可以在移动设备上查看销售数据.App 元数据和顾客评论.您还可以检查 App 状态.发布您 App 的新版本并回应"Resolutio ...

  6. iphone主屏幕动态壁纸_苹果11怎么设置动态壁纸?这个简单!只需这样操作

    为iPhone11或其它iPhone设置动态壁纸,可通过"设置"APP进行操作. 以系统版本为IOS14.2的iPhone为例,详细操作步骤如下: 1.通过桌面点击"设置 ...

  7. android默认语言,Android默认设置App内的语言为中文

    1.通用的设置App语言的方法(需要注意版本的变化) public static Context initAppLanguage(Context context, String language) { ...

  8. iOS开发:设置App名称,设置App icon图标,设置App启动图

    在App开发过程中,需要设置App的名字.icon图标.启动图等,也难免会遇到修改App的名字.icon图标.启动图等,下面就来谈谈这三个部分的具体设置步骤. 一.设置及修改App icon图标的步骤 ...

  9. Flutter设置App的应用名字和应用logo图标的方法(android ios web)

    在前面的几期给大家介绍了flutter的安装以及一些简单的配置,还运行了helloword 那么接下来就带领大家了解如何设置应用名称以及图标 Flutter设置App的应用名字和应用logo图标的方法 ...

  10. 【如何快速的开发一个简单的iOS直播app】(代码篇)

    开篇([如何快速的开发一个完整的iOS直播app](原理篇) ) 好久没写简书,因为好奇的我跑去学习直播了,今天就分享一下我的感慨. 目前为止直播还是比较热点的技术的,简书,git上有几篇阅读量和含金 ...

最新文章

  1. 插件制作教程 php,typecho插件编写教程(二):写一个新插件
  2. 完美解决ie浏览器location.href不刷新页面的问题,进入页面只刷新一次
  3. 【BFS宽度优先搜索】
  4. Android 程序 正确修改包名的方式(源代码)
  5. POJ 1655 Balancing Act[树的重心/树形dp]
  6. mysql 统计 邮箱_mysql查询之 连续出现的数字,重复出现的邮箱,删除重复的电子邮箱...
  7. css animation动画
  8. Python语言importError:cannot import name ‘InvalidArgumentException‘报错的解决方法:
  9. 斐波那契数列(复习)
  10. web前端知识天天学(3)
  11. 图像局部特征(十二)--BRISK特征
  12. 实现Apriori算法(python)
  13. 实现土豆网的视频播放
  14. 什么是组播-网工必会的组播基础概念详解
  15. 启动Kylin出现的问题
  16. 学术-数学:四色猜想
  17. 华为手机如何升级鸿蒙系统_华为鸿蒙系统怎么升级?升级鸿蒙系统步骤[多图]...
  18. 有趣的Ruby-学习笔记5
  19. swpa软件测试工程师,新版3DMark推出专用测试工具——CPU Profile
  20. 网页抢东西插件_10款堪称神器的Chrome插件,让你大开眼界!

热门文章

  1. Photoshop更换证件照底色
  2. Paper 已经过时——计算机时代科学传播方式的变革
  3. ajax不执行回调函数的原因
  4. Pycharm CPU占用100%
  5. train,dev,test数据集划分
  6. 卡耐基梅隆 同济大学 计算机,2019上海软科世界一流学科排名土木工程专业排名卡耐基梅隆大学排名第201-300...
  7. API安全前景与趋势
  8. 用python编写程序实现分段函数的计算_编写程序,实现分段函数计算,如下表所示。 x y x0 0 0=x5 x 5=x10 3x-5 10=x20 0.5x-2 20=x 0_学小...
  9. YOLO: 3 步实时目标检测安装运行教程 [你看那条狗,好像一条狗!]
  10. R语言:方差分析之单因素方差分析和双因素方差分析