iphone - Xcode 本地化让我抓狂!不加载 Storyboard

标签 iphone ios xcode localization uistoryboard

这个问题让我抓狂已经 2 天了。

我正在尝试本地化我的 iOS 应用程序,但我无法让它工作。当我尝试一个空白项目而不是我当前的项目时,它很容易工作。

我已经使用“+”在本地化中添加了语言,我已经本地化了 Storyboard,但是当我检查模拟器或设备时,我仍然看到英文版本。事实上,它甚至不是英文版本,因为如果我更改 Maintsoryboard(英文),我看不到设备的变化......我仍然看到初始文本。

我试过重置模拟器、删除应用程序等。没有成功。

我已经恢复到备份,尝试再次添加所有内容。运气不好。

有人可以帮忙吗?我知道这没什么大不了的,但我不知道该解释什么来帮助你帮助我。因此,如果我遗漏了一些信息,请告诉我。

仅供引用,当我在 Developer 中查看应用程序的文件夹时,我最初没有 en.lproj,而我似乎应该默认有一个?

最佳答案

看起来您已经解决了这个问题,但我认为可能发生的情况是您最初将“MainStoryboard.storyboard”作为未本地化的资源。这意味着当您构建应用程序时,您将获得“MainStoryboard.storyboardc”作为未本地化的资源。当您将 Storyboard 更改为本地化时,您的包资源中会出现“Base.lproj/MainStoryboard.storyboardc”。

当您在 Xcode 中构建时,您的应用程序有多个副本。在您的设备或模拟器中有一个副本,在 Xcode 的派生数据文件夹中也有一个副本。当您对应用程序进行增量构建时,Xcode 中派生数据文件夹中的副本是新内容和旧内容的合并。因此,当您在 Xcode 中修改资源并重新构建时,您将获得最新的资源。但是,当您重命名或删除资源时,旧副本仍保留在构建目录中,直到您执行清理操作。

这意味着您的构建产品可能同时具有“MainStoryboard.storyboardc”和“Base.lproj/MainStoryboard.storyboardc”。当 NSBundle 加载资源时,它更喜欢未本地化的内容,并且会加载旧的“MainStoryboard.storyboardc”。

关于iphone - Xcode 本地化让我抓狂!不加载 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12782599/

相关文章:

iphone - NSSortDescriptor 可以使用部分键进行排序吗?

ios - SWIFT:在具有多个部分的 TableView 中显示字典时,无法使具有标识符单元格错误的单元格出队

ios - Xcode 错误 Command/Applications/Xcode.app/Contents/Developer/usr/bin/momc 失败,退出代码 1

iphone - 使用自定义转场转换时 TabBar 会丢失。如何取回?

iphone - 在模拟器上工作但在设备上不工作的可达性

ios - 两次后未调用 NSURLConnection 委托(delegate)方法

ios - 使用 SW Reveal Controller 设置自定义转场

iphone - 如何在xcode中创建DropDown?

iphone - 使用 ios5 操作系统和 ios5 sdk 提交 ios 应用程序

ios - 不调用委托(delegate)方法并且解析属性始终为 FALSE