Fixing nested Base.lproj/Base.lproj made new files unlocalizable

Viewed 423

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.

0 Answers
Related