现在的位置: 首页 > 综合 > 正文

关于Info.plist中你不得不知道的一点

2013年09月12日 ⁄ 综合 ⁄ 共 952字 ⁄ 字号 评论关闭

        我是刚开始接触IOS开发的新手,在用Xcode编写代码的过程中遇到一些问题,经过反复的调试,得到一些心得体会,现将其中一些比较有意思的问题记录下来,分享给遇到相同问题的新手们~

       当新建一个工程之后,会生成一个名为xx-Info.plist的文件,该文件中有一条配置信息相当重要,如果没有这条配置信息,在运行程序时,将会发生让您崩溃的画面。到底是哪条配置信息呢,请看下面的图片:

        图片中,灰色背景显示的“Main nib file base name”--"MainWindow"键值对就是本文要着重讲解的一点。这条信息表示,程序在运行时,首先调用的界面文件是哪个NIB文件。如果删除该条配置信息,会发生什么情况呢,请看下面一张图:

       什么,就卡在这个界面?对,事实就是如此,因为没有上面那条配置信息,程序无法知道应该首先加载哪个NIB文件,所以就会显示如上图所示界面,是不是让人泪奔呢?而且如果您跟踪代码执行情况,会发现代码在进入main方法之后,执行UIApplicationMain()方法之后便不会再执行其他类文件了。按照正常情况下,程序通过main方法入口,紧接着便会调用AppDelegate文件中的如下方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

但是当删掉上面那条配置信息之后,程序就不会执行到该文件中来。(本观点是通过NSLog方法测试,如有不对,欢迎批评指正!)

        或许我们在这里是画蛇添足,正常情况下,我们是不会去删除这条配置信息的。但是,请注意一点,Xcode中编辑xx-Info.plist稍不注意就会发生如上所说的悲剧,要是一不小心就点着了“+”和“-”符号中的后者,则该条配置将会悄无声息地消失了,Xcode并不会给您任何提示。因此,一旦发生运行时显示黑屏,应该考虑一下是否误操作了xx-Info.plist文件。我就是因为一个不小心,鼠标点中了那个删除符号,导致耗费了大半天工夫才找到问题所在,故写下此文,谨以本文分享给同是新手的你我。如有不正确的地方,欢迎各位拍砖指正,非常感谢!

抱歉!评论已关闭.