Xcode 8 Ambiguous expansion of macro NSLocalizedString
<p>I have the following in my unit test .pch file to allow my unit tests to find the right bundle for the localization files and this was working fine until I upgraded to Xcode8.</p>

<pre><code>#undef NSLocalizedString
#define NSLocalizedString(key, comment) [[NSBundle bundleWithIdentifier:@"Tests-Unit"] localizedStringForKey:(key) value:@"" table:nil]
</code></pre>

<p>Now, I get the warning</p>

<pre><code>Ambiguous expansion of macro NSLocalizedString 
</code></pre>

<p>Which would explain why my unit tests fail as they can't find the localized string value anymore.</p>

<p>Any ideas what is wrong there? Is there something I need to now do differently?</p>

<p><strong>EDIT:</strong>
I have a feeling it has something to do with all my source file being in <strong>2 targets</strong> i.e one for the project and one for the unit tests which is the way we had it setup. I'm trying to clean this up and removed all my source file from the unit test target and added the </p>

<pre><code>@testable import ProjectName
</code></pre>

<p>instead to a Unit test file to be able to access my code for testing but i'm now getting </p>

<pre><code>File 'MyFile.swift' is part of module 'ProjectName'; ignoring import.
</code></pre>