无法在捆绑基础国际化中加载 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的主要内容,如果未能解决你的问题,请参考以下文章

无法在捆绑包中加载 NIB

无法在捆绑包中加载 NIB。可可豆项目

无法在捆绑包中加载 Nib

我的自定义框架崩溃'无法在捆绑包中加载 NIB

出现“无法在捆绑包中加载 NIB”错误

Xamarin 工作室。单触。无法在捆绑包中加载 NIB ... 带有名称