1
votes

I have an application with localized XIB files for English and French. When running in the iPad simulator on my development machine the French XIB is loaded when the language of the simulator is set to French and English otherwise, as expected.

It appeared that when running on the iPad it was loading the English language regardless.

I tried editing the English language XIB to verify it was loading the wrong version but this change didn't show up.

In fact the same XIB, which appears to be the pre-localization XIB or a copy of the English language version, loads even though I have:

Deleted the XIB. Cleaned all targets. Deleted the app from the device. Turned the device off and on again. Verified the XIB is not in the Copy Bundle Resources phase of the target.

Regardless of language or existence of XIB it still loads the XIB as it appeared pre-localization. This file no longer exists in my project.

The simulator, throughout, works as expected. Loading localized resources when present and throwing errors when it can't find the XIBs because they have been deleted.

How do I get the application to use a localized XIB that exists rather than a memory of a XIB that doesn't?

2
I'm in the same boat. Localized XIB for en and fr. Changed my localized en version to be different than my pre-localized version. Deleted app from simulator. Got old XIB file. Changed language, still old XIB file. Did you find your solution?DBD
Same here. Sure hope someone figures this out.Brian

2 Answers

0
votes

Try delete Derived Data.

Xcode -> Organizer -> Projects -> Derived Data -> Delete...

Everything will be fine.

0
votes

This is a common issue. Quitting Xcode and reopening the project will usually fix it.

Also, be sure the newly created localized .xib has all the required "Target Memberships"