 <p>In my case, I was declaring a <code>const</code> in a header file, which worked fine when building and running on the device (iPhone 5), however when attempting to simulate a 4S, all of a sudden I had some 300 "duplicate symbols".</p> <p>It turns out I needed to also mark the <code>const</code> as <code>static</code> and the issue went away. Presumably it was trying to redefine the constant every time the header was referenced. The compiler isn't smart enough to just make constants static? Didn't think that would be necessary, but I guess it is.</p> <pre><code>const CGFloat kTitleAnimateDistance = 50.f; </code></pre> <p>Needed to be:</p> <pre><code>const static CGFloat kTitleAnimateDistance = 50.f; </code></pre>