I have a strange nested Base.lproj situation, where my filesystem looks like this:
ProjectName
Base.lproj
Authentication.storyboard
SidebarViewController.xib
Base.lproj // <-- What?????
LoginViewController.xib
en-US.lproj // <-- What????
LoginViewController.strings
SidebarViewController.strings
en-US.lproj
Authentication.strings
When I copied LoginViewController.xib into the top-level Base.lproj and unchecked/rechecked the English checkbox on SidebarViewController.xib, I can delete the nested Base and en-US folders and build successfully.
It's fixed! But wait...
I create a new file (e.g. Dummy.storyboard), it is added to the correct folder:
ProjectName
Base.lproj
Authentication.storyboard
SidebarViewController.xib
LoginViewController.xib
Dummy.storyboard
en-US.lproj
Authentication.strings
LoginViewController.strings
SidebarViewController.strings
BUT when I check English in the Localization section, I get this error:
The file path ~/project_ios.git/ProjectName/ProjectName/en.lproj/Dummy.storyboard is invalid. The expected prefix is ~/project_ios.git/ProjectName/ProjectName/Base.lproj
What am I missing? I cleaned the build, deleted Xcode's DerivedData directory, and intermediate build projects directory, and nothing is making a difference.