美文网首页
iOS 问题&解决方法

iOS 问题&解决方法

作者: ProgressChen | 来源:发表于2016-02-18 00:48 被阅读683次

    iOS Xcode运行时上下黑边的解决办法

    4s下运行,还是好好的。
    Retina(3.5-inch):


    屏幕快照 2016-02-18 00.31.32.png

    到其他设备上就变了:
    Retain(4-inch):


    屏幕快照 2016-02-18 00.34.07.png

    解决方法:

    添加Default.png、Default-568h@2x.png、Default@2x.png三张图片进来,可以加到Supporting Files里。

    就加下面三张纯黑的图片,添加后再运行,就没问题了。
    Default.png

    Default.png

    Default-568h@2x.png


    Default-568h@2x.png .png

    Default@2x.png


    Default@2x.png

    我只是将Default-568h@2x.png添加到LaunchImage中了如图:

    屏幕快照 2016-02-18 00.35.56.png

    删除app,Product-Clean,重新运行。

    在iOS9 以上运行old Project 提示Application windows are expected to have a root view controller at the end of application launch

    在iOS9之前如果没有根视图,即rootViewController = nil,也是可以运行但是会打印出上面那句,做个提示,程序还是可以运行的。iOS9以后如果为nil运行后会崩溃。

    当然在真正的项目上根视图控制器肯定不为nil。

    解决方法

    意思是缺少根视图。添加如下代码即可解决

    NSArray *windows = [[UIApplication sharedApplication] windows];
    for(UIWindow *window in windows) {
        if(window.rootViewController == nil){
            UIViewController* vc = [[UIViewController alloc]initWithNibName:nil bundle:nil];
            window.rootViewController = vc;
        }
    }
    

    真机调试提示pngcrush caught libpng error:

    应用在在模拟器上调试一点问题没有,但一放到真机上调试就出现pngcrush caught libpng error: 的错误.

    两种解决方法 :

    1. 在build settings里把工程里的Compress PNG files设置为NO,问题解决,但这样设置以后,弄出来的ipa会很大,感觉不是很理想。
    2. mac上的preview(预览)打开出问题的png文件,然后重新导出为png文件或者用photoshop把png图片保存为NOT INTERLACED(不交错)的,这样真机调试时就没有错误了。

    相关文章

      网友评论

          本文标题:iOS 问题&解决方法

          本文链接:https://www.haomeiwen.com/subject/krymkttx.html