title: How do I solve class name conflicts when creating an iOS framework?
body: <p>I am writing an iOS framework <code>Foo</code> that depends on a static third-party library <code>Lib</code> and have problems getting the linking right.</p>
  
  <p>If <code>Foo</code> was a static library, I would <em>not</em> link it against <code>Lib</code>, and only link the master project against both of them. But this approach does not seem to work with a framework: the linker complains about missing symbols from <code>Lib</code>.</p>
  
  <p>So I took the other approach and linked <code>Foo</code> against <code>Lib</code>. Now the linker is happy, but there’s an obvious catch: if the master project uses <code>Lib</code> for its own reasons and links both against <code>Foo</code> and <code>Lib</code>, I get duplicate symbols:</p>
  
  <pre><code>Class &lt;Something&gt; is implemented in both &lt;Here&gt; and &lt;There&gt;.
  One of the two will be used. Which one is undefined.
  </code></pre>
  
  <p>I know I can stop linking the app against <code>Lib</code> and all will be fine, but I’d like to get things right. How?</p>