无法在捆绑基础国际化中加载 nib
Posted
技术标签:
【中文标题】无法在捆绑基础国际化中加载 nib【英文标题】:Could not load nib in bundle base internationalization 【发布时间】:2012-10-02 23:47:10 【问题描述】:我有一个在 xcode 4.5 中创建的项目,目标 ios 为 5.0,我使用了 Base Internationalization。 Base Internationalization 将 nib 文件移动到 Base.lproj。
该项目在运行 ios 6 的 iPhone 4 和运行 ios 6 的 iPad 3 上运行。但是当我尝试在运行 ios 5.1.1 的 iPad 1 上运行它时会出现此错误。在目标的 Build Phase 部分,nib 文件显示为红色。
当我尝试将 nib 文件添加到 Build Phases 捆绑资源时,它们会添加但它们仍然是红色的(未找到)。我已经尝试了所有我知道的方法来将 nib 文件添加到包资源中。我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:Base Internationalization 仅在 iOS 6 中受支持。它会在 iOS 5 或更低版本尝试加载 Xib 时导致崩溃。
注意:奇怪的是,在模拟器上运行 iOS 5 是可以的。那应该是个bug。
我在发布我的应用程序后详细介绍了我的经历:http://samwize.com/2012/11/22/warning-do-not-use-base-internationalization-in-ios-5/
【讨论】:
【参考方案2】:我不知道英语 (en) 也必须本地化。当我本地化英语时,我能够将 nib 文件加载到包中。
我仍然收到“NSInternalInconsistencyException”,原因:“无法在包中加载 NIB:“NSBundle(已加载)”,名称为“MainViewController_iPad””
但至少现在不是因为 nib 文件不在捆绑包中。
【讨论】:
以上是关于无法在捆绑基础国际化中加载 nib的主要内容,如果未能解决你的问题,请参考以下文章