title: iPhone X: What triggers compatibility mode vs. full-screen mode?
body: <p>I’m trying to get a fairly complex, existing codebase (base SDK iOS 9.0; Swift 4.0; Xcode 9.1) to run in <strong>full-screen mode</strong> on iPhone X, and so far, it only runs in <strong>“compatibility mode”</strong> (i.e., letterboxed with black top and bottom borders).</p>
  
  <p>However, a brand-new Xcode project meeting the same requirements runs in full-screen mode fine.</p>
  
  <p>There also seems to be a fair amount of ambiguity and/or misinformation regarding when an app running on iPhone X actually displays in “compatibility mode” vs. full-screen mode.</p>
  
  <p>Some of the variables may include:</p>
  
  <ul>
  <li>the Base SDK project setting</li>
  <li>whether there’s a Launch storyboard</li>
  <li>whether there are iPhone X launch images, and their sizes</li>
  <li>whether Safe Area guides are enabled</li>
  </ul>
  
  <p>... and possibly more.</p>
  
  <p>Apart from what Apple (and others) say, has anyone <strong>definitively</strong> isolated precisely which permutation(s) of parameters ‘flips the switch’, and causes the app to run in one vs. the other when on iPhone X?</p>
  
  <p>[Please note: for business reasons, and at least for the moment, we still want the app to be able to run on iOS 9 and up.]</p>
  
  <p>Many thanks in advance!</p>