/EmptyApplication

由Single View Application项目删除storyboard生成纯代码Empty Application模板

Primary LanguageObjective-C

由Single View Application项目删除storyboard生成纯代码Empty Application模板

删除 storyboard

从项目中删除 LaunchScreen.storyboardMain.storyboard:

  1. Info.plist 中删除 Launch screen interface file base name 和 Main storyboard file base name。

    • 对应 Genenal | App Icons and Launch Images | Launch Screen File
    • 对应 Genenal | Deployment Info | Main Interface
  2. 删掉 Launch Screen File 之后,启动屏幕大小总是 320x480。

上下黑条问题

上下有黑条,且点击黑条部分报错:

unexpected nil window in _UIApplicationHandleEventFromQueueEvent,
_windowServerHitTestWindow: <UIClassicWindow: 0x7fc798411d80; frame = (0 0; 375 667); userInteractionEnabled = NO;

原因分析

由于5/5s上市时,需要兼容之前版本的App,同时要减少适配的开发成本。 最后就出了唯一的一个判断标准:如果有相应设备尺寸的开机图,系统就当该App针对新设备做过适配,否则就按照320x480来计算,然后在iPhone5/6的模拟器屏幕上下自动补黑条。

解决方案

向工程同名目录添加启动图片:

- iPhone4/4s: Default@2x.png(640*960)  
- iPhone5/5s: Default-568h@2x.png(640*1136)  
- iPhone6:    Default-375w-667h@2x.png(750*1334)  
- iPhone6+:   Default-414w-736h@3x.png(1242*2208)  

refs

《从项目中删除storyboards》 《iOS8 launch image的设置方法》 《iPhone6(+)适配LaunchImage》 《增加Default-568h@2x.png支持iPhone5》 《Xcode6在模拟器iPhone5/iOS7的版面上下黑边》