iOS应用发布打包时为什么选择release,而不是debug
一、Debug和Release版本区别?
众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式,Debug和Release,在Target的Setting中相信大家应该看到很多选项都分为Debug和Release,方便我们分别设置,满足调试和发布的不同需求。
Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和Release调用两个不同的底层库。通俗点讲,我们开发者自己内部真机或模拟器调试时,使用Debug模式就好,等到想要发布时,也就是说需要大众客户使用时,需要build Release版本,具体区别如下:
1、Debug是调试版本,包括的程序信息更多
2、只有Debug版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句
3、Release不包含任何调试信息,所以体积小、运行速度快
那么,问题来了,我们调试程序时,该如何生成(Build)或运行Debug或是Release版本呢?
Xcode左上角,点中项目名称-Edit Scheme,或是菜单栏-Product-Scheme-Edit Scheme 弹出界面如下:
当你这里设置Debug时,你build/Run后就是debug版本,相应的,修改成Release模式,出来的就是release版本,这里可以很方便切换。
二、Analyze的作用?
刚开发时,始终不知道这个的作用,只知道要打包生成APP时,需要用这个,那么到底Analyze和Release有什么关系呢?
archive是你要上传包的时候,打包。也就是说Archive只跟APP要上传到appStore的时候有关,一般情况下,只有在那个时候才会用Archive,可以这么理解。所以Archive也分为Debug和Release两个,你可以Archive出一个Debug版本的应用也可以Archive出一个Release的应用。
所以说,Archive和Release没有太大的关系,Archive我们平时一般都不会用到的。
三、Profile
点击运行Profile,profile 之后,会有一个工具选项. 然后你可以查看app 性能
四、Analyze
analyze,是查找静态内存泄漏,以前mrc 的时候会用。Profile和Analyze都可以在Scheme中设置: