无法在bundle base国际化中加载nib

时间:2012-10-02 23:47:11

标签: xcode internationalization nib base

我有一个我在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文件添加到bundle资源中。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:2)

仅在iOS 6中支持Base Internationalization。当尝试加载Xib时,它将导致iOS 5或更低版本崩溃。

注意:奇怪的是,使用iOS 5在Simulator上运行会起作用。这应该是一个错误。

我通过这次愚蠢的启动崩溃发布我的应用程序后详细介绍了我的经验:http://samwize.com/2012/11/22/warning-do-not-use-base-internationalization-in-ios-5/

答案 1 :(得分:0)

我不知道英语(en)也必须本地化。当我本地化英语时,我能够将nib文件加载到包中。

我仍然收到'NSInternalInconsistencyException',原因是:'无法在bundle中加载NIB:'NSBundle(loaded)',名称为'MainViewController_iPad''

但至少现在不是因为nib文件不在捆绑包中。