多语言iOS应用程序中的启动画面

时间:2014-05-29 13:21:10

标签: ios objective-c splash-screen

我正在使用12种语言的应用程序。每种语言都有不同的启动画面。我已经尝试了几乎所有可能的方法来添加启动画面图像(Default.png),它在所有情况下都能正常工作。但是,当我尝试在App Store上传它时,它给我下面的错误(附上截图): -
Error at the time of validating the app

在那之后,我试过了其他可能的解决方案,但没有一个适合我。主要问题如下图所示: -
Launch images

当我尝试从浏览弹出窗口中选择任何图像时,它不会被激活显示在上面的列表中并显示相同的消息("未指定图像")。我已将所有图片添加到我的包中。

Images added in the bundle
任何人都可以指导我在哪里做错了吗?
注意: - 我正在使用Xcode 5.1

4 个答案:

答案 0 :(得分:5)

以下是本地化Launch.xib屏幕的方法:

  1. 创建InfoPlist.strings文件。 (文件,新建,资源,字符串)的
  2. 将其本地化并选择您的语言
  3. 例如西班牙语版本,为启动屏幕的西班牙语版本添加启动屏幕键和名称

    "UILaunchStoryboardName" = "Launch_es";

  4. 将现有的Launch.xib复制到Launch_es.xib,并将文本和/或图像更改为西班牙语翻译或西班牙语命名的图像。

答案 1 :(得分:3)

这解决了这个问题。 Is there a way to have a different Default.png (splash image) for different languages/locales in iOS?

在每个本地化文件夹中放置了不同的图像。

答案 2 :(得分:0)

我有同样的错误。我通过重命名所有的初始图像(例如:iphone_5_en,iphone_5_it等等)修复了它,并且我本地化了infoPlist.strings文件。 在infoPlist.strings文件中,我更改了启动图像键UILaunchImageFile和UILaunchImageFile~ipad的值。

答案 3 :(得分:0)

在某些情况下,当您想要为其中一种语言本地化您的应用时,您可以使用本地化的InfoPlist.strings。请注意,名称区分大小写!

InfoPlist.strings

您可以创建此文件InfoPlist.strings - >本地化 - >改变语言。

在每个本地化的文件内,您可以添加下一个可本地化的属性:

"CFBundleDisplayName" = "AppName";    
"CFBundleName" = "AppName";  
"UILaunchStoryboardName" = "Launch Screen";

本地化:

"CFBundleDisplayName" = "arAppName";      
"CFBundleName" = "arAppName";   
"UILaunchStoryboardName" = "Launch Screen_ar";

当应用启动时,此数据将用于启动屏幕和应用名称属性。

"UILaunchStoryboardName" = "Launch Screen_arabic";

之后,您可以创建arLaunchScreen,enLaunchScreen等