iOS开发-Xcode Debug、Release、Archive、Profile、Analyze概念解释

转载 2015年07月10日 10:52:13

1,Debug和Release版本区别?

众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式,DebugRelease,在Target的Setting中相信大家应该看到很多选项都分为DebugRelease,方便我们分别设置,满足调试和发布的不同需求。

Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和Release调用两个不同的底层库。通俗点讲,我们开发者自己内部真机或模拟器调试时,使用Debug模式就好,等到想要发布时,也就是说需要大众客户使用时,需要build Release版本,具体区别如下:

一、Debug是调试版本,包括的程序信息更多
二、只有Debug版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句
三、Release不包含任何调试信息,所以体积小、运行速度快


那么,问题来了,我们调试程序时,该如何生成(Build)或运行Debug或是Release版本呢?

Xcode左上角,点中项目名称-Edit Scheme,或是菜单栏-Product-Scheme-Edit Scheme 弹出界面如下:


当你这里设置Debug时,你build/Run后就是debug版本,相应的,修改成Release模式,出来的就是release版本,这里可以很方便切换。


2,Analyze的作用?

刚开发时,始终不知道这个的作用,只知道要打包生成APP时,需要用这个,那么到底Analyze和Release有什么关系呢?


archive是你要上传包的时候,打包。也就是说Archive只跟APP要上传到appStore的时候有关,一般情况下,只有在那个时候才会用Archive,可以这么理解。所以Archive也分为Debug和Release两个,你可以Archive出一个Debug版本的应用也可以Archive出一个Release的应用。


所以说,Archive和Release没有太大的关系,Archive我们平时一般都不会用到的。


3,Profile


点击运行Profile,profile 之后,会有一个工具选项. 然后你可以查看app 性能


4,Analyze

analyze,是查找静态内存泄漏,以前mrc 的时候会用。Profile和Analyze都可以在Scheme中设置:


【后续补充】




总结:

默认run,是debug模式,就是真机联调.
如果你修改为release,是run 的时候, 为发布模式.
直接archive 是系统提供帮助打包的,Archive生成后的文件会小很多~

下面给出一个传送门,我最近在做的静态库开发,里面说的还算详细。

http://blog.sina.com.cn/s/blog_7b9d64af0101jlym.html iOS生成静态库方法-iOS集成静态库-iOS合并静态库

切换Debug/Release编译模式和Archive的作用

在学这个之前,以为很难,也起不到什么作用,但是等真正运用到工程里面,才发现,这个能帮你省下很多工作量。 1,Debug和Release版本区别? 进行iOS开发,在Xcode调试...
  • yusirxiaer
  • yusirxiaer
  • 2016年08月10日 16:02
  • 3387

iOS开发技巧(使用Xcode DEBUG模式和RELEASE模式)

在开发过程中,我们经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输...
  • haiooh
  • haiooh
  • 2016年05月09日 10:41
  • 5885

IPhone开发工具篇-利用xcode profile和analyze进行性能优化

IPhone开发工具篇-利用xcode profile和analyze进行性能优化
  • xdrt81y
  • xdrt81y
  • 2013年09月28日 13:49
  • 34941

iOS开发-Xcode Debug、Release、Archive、Profile、Analyze概念解释

1,Debug和Release版本区别?
  • mad1989
  • mad1989
  • 2014年10月31日 18:41
  • 49095

iOS中-Xcode Debug、Release、Archive、Profile、Analyze的概念和区别

转自http://blog.csdn.net/mad1989/article/details/40658033 1,Debug和Release版本区别? 众所周知,我们进行iOS开发,在Xco...
  • u011303663
  • u011303663
  • 2015年06月15日 14:42
  • 1190

Debug、Release、Archive、Profile、Analyze概念解释

1.Debug和Release版本区别?众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式,Debug和Release,在Target的Setting中相信大家应该看到很多选项都分为D...
  • jeikerxiao
  • jeikerxiao
  • 2016年04月15日 22:35
  • 362

iOS开发-Xcode debug,release的区别

Xcode进行调试时候,经常看到debug和release,那么他们是什么呢? debug是调试版本, release是发行版本, Xcode里面,但凡有debug和release 设置的地方,就...
  • qq_26968709
  • qq_26968709
  • 2016年04月18日 18:21
  • 793

ios开发答疑录系列​---xcode release 和 debug 模式造成的不同

公司的应用在本地测试没有问题,于是提交到app store,审核通过后,自己下下来看看,去发现了一个crash。回到自己的mac上断点调试,正常。思考片刻,想起自己在本地开发是debug模式,而app...
  • u014724552
  • u014724552
  • 2014年04月15日 14:08
  • 783

iOS开发技巧:使用Xcode DEBUG模式和RELEASE模式

在开发过程中,我们经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输...
  • lijuan3203
  • lijuan3203
  • 2015年11月03日 14:29
  • 616

ios开发答疑录系列​---xcode release 和 debug 模式造成的不同

============================================================博文原创,转载请声明出处电子咖啡(原id蓝岩)=================...
  • shencaifeixia1
  • shencaifeixia1
  • 2012年12月21日 18:29
  • 9691
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发-Xcode Debug、Release、Archive、Profile、Analyze概念解释
举报原因:
原因补充:

(最多只允许输入30个字)