Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题的解决方案

问题描述:

Xcode6环境下,对iPhone5或iPhone5s模拟器,在iOS7或iOS7.1下运行,屏幕上下有黑边。在iOS8下没问题。

问题分析:

这种熟悉的场景又出现了,上一次遇到这种情景已经可以追溯到两年前,iPhone5刚刚问世的那段时间,在3.5inch屏幕上的程序如果不添加568h的default.png,在4inch屏上运行就会出现这种上下留"白"的状况。

而如今已经到了iPhone6和iPhone6Plus的时代,这种情景竟然又出现了。

其实可以发现,不只是上下留白的问题,在这种状态下Launch Screen其实根本没有加载。

原因可想而知了。

Xcode6在Xcode5的基础上,做出的一些调整,其实并不是向下兼容的。Xcode5在启动页通过images asset进行管理,而到了Xcode6,苹果引入了一种新的启动页机制:LaunchScreen.xib,而这种机制恰恰是不向下兼容的。Xcode6已经自动为iPhone6以上的模拟器强制使用iOS8+系统,iPhone 6 (7.1)这种模拟器是不存在的(至少我没有找到),因此对于iPhone 6以上的模拟器,不存在这个问题,对于iPhone 4s模拟器,在iOS7.1下也仅仅是没有加载LaunchScreen.xib,这种苹果最为古老的屏幕尺寸当然不存在留白的状况。但对于iPhone5/5s
+ iOS7/7.1,由于iOS7无法兼容LaunchScreen.xib这种机制,而又找不到对应的default-568h.png文件,问题自然就出现了。

问题解决:

在项目配置页,General下面有一栏App Icons and Launch Images,其中有一项Launch Images Source,如果你遇到了问题,那么旁边显示的可能是一个按钮,Use Asset Catalog,点一下然后确定就可以了,会在项目中的Images.xcassets中生成LaunchImage,就像Xcode5中那样。此时再运行程序,已经不会再有上下的黑边问题了。但为了更好的用户体验,做张图片放进去吧。当然,在iOS8中依然会加载LaunchScreen.xib,看来至少二者是可以共存的。

问题延伸:

如果你想删掉这套启动图,仅仅是删除Images.xcassets中的LaunchImage是不行的,还要在项目配置,Build Settings中找到Asset Catalog Launch Image Set Name(搜索asset可以帮你快速定位到这项),把后面的值删掉。否则编译都通不过,会报错Images.xcassets: None of the input catalogs contained a matching launch image set named "LaunchImage"。

时间: 2024-10-12 16:12:22

Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题的解决方案的相关文章

Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题

问题描述:Xcode6环境下,对iPhone5或iPhone5s模拟器,在iOS7或iOS7.1下运行,屏幕上下有黑边.在iOS8下没问题. 如图,分别是两种情况下的图片: 问题分析: 自己并没有使用xib 或者 storyboard ,所以不存在 autolayout导致的问题 启动使用的是默认的 launchScreen文件 ,问题可能出在这里 . 于是尝试: 修改 启动图片那里 最终解决方案: 1. 启动图片这里,是个按钮,点击 2.点击合并 3.最终成功解决

xcode6 怎样下载ios7模拟器

1. 怎样下载ios7模拟器 点击xcode.选择"Preferences".选择"downloads",就能够看见IOS 7.1,只是下载有点慢. 2. 怎样高速下载呢 进入文件夹/Users/<username>/Library/Caches/com.apple.dt.Xcode/Downloads  将5dba03a4b33ac2c0d7a72e94475011c25eb06a73.dvtdownloadableindex 类似文件重命名成.pli

xcode6 如何下载ios7模拟器

1. 如何下载ios7模拟器 点击xcode,选择"Preferences",选择"downloads",就可以看见IOS 7.1,不过下载有点慢. 2. 如何快速下载呢 进入目录/Users/<username>/Library/Caches/com.apple.dt.Xcode/Downloads  将5dba03a4b33ac2c0d7a72e94475011c25eb06a73.dvtdownloadableindex 类似文件重命名成.plis

Androidkiller在夜神模拟器上编译安装

1.用androidkiller打开apk文件,修改源码 2.CMD进入夜神bin目录下 nox_adb.exe connect 127.0.0.1:62001 3.通过夜神进程号,CMD下找到夜神对应的端口:26966 netstat -ano|findstr “9708" 4.进入Androidkiller的adb目录 adb connect 127.0.0.1:26966 5.最后刷新,编译,安装 原文地址:https://www.cnblogs.com/hyh123/p/12065712

在ios7真机上和iOS6模拟器上运行是好的,而在iOS6真机上运行却报错

在ios7真机上和iOS6模拟器上运行是好的,而在iOS6真机上运行却报错 解决方法: 或是都设置为yes.. Build Active Architecture Only的意思是只生成适应的指令集 在ios7真机上和iOS6模拟器上运行是好的,而在iOS6真机上运行却报错,码迷,mamicode.com

Xcode6 iOS7模拟器和Xcode7 iOS8模拟器离线下载

Xcode6 只支持iOS7和iOS8的模拟器 Xcode7 只支持iOS9和iOS8的模拟器 Xcode 并不会识别 SDKs 目录下的模拟器,我经过一些尝试以后,发现要放在这个目录下: /Library/Developer/CoreSimulator/Profiles/Runtimes/ 注意:是根目录,不在 Xcode 和 User 的目录下 而且与旧版的模拟器不同,新版模拟器是以simruntime为后缀打包的(其实还是一个目录),以7.1的模拟器为例: 如果这个目录不存在的话,可以尝试

IOS问题汇总:2014-12-2 xcode6中iphone5模拟器中运行textfield不弹出键盘+点击return收键盘

1.xcode6中iphone5模拟器中运行textfield不弹出键盘 Hardware->Keyboard->Toggle Software Keyboard手动激活键盘 2.点击return收键盘(1)按住Ctrl,选中TextField,拖拽至ViewController使二者连接.(2)在.h中@interface那行添加.(3)在.m中添加代码: -(BOOL) textFieldShouldReturn:(UITextField *)textField{if (textField

IOS应用在iPhone5和iPhone5s上不能全屏显示,应用画面上下各有1条黑色的解决方案

 转载请标明出处:http://blog.csdn.net/android_ls/article/details/39234963 在编写IOS应用程序的过程中,我一直都是使用iPhone Retina(3.5-inch)模拟器测试的,一切显示正常,切图如下: 我在应用开发中,采用的是纯代码实现.公司提供了一部iPhone4s,我使用其测试一切显示正常.问题出在,当我使用iPhone5和iPhone5s真机测试时,发现我的应用在iPhone5和iPhone5s上没有铺满屏幕显示画面,而是在应用画

【REACT NATIVE 跨平台应用开发】环境搭建问题记录&&XCODE7模拟器上COMMAND+R失效的几种替换方法

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2147.html React Native 这里不多介绍,其实就是个跨平台开发原生应用的开源引擎. 更详细的介绍,大家可以搜索"facebook react native" 或 "taobao react native" 附上 React Native 官方网站:http://react