Xcode中release和debug模式

本人对Xcode中的release模式和debug模式很是疑惑,于是今天对其进行的调研,写下笔记以备查阅
Debug是调试版本,包含调试信息,并且不做任何优化,便于程序猿进行调试.
Release 是发布版本,它往往是进行各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好的使用.
在上传AppStore的时候要将Debug改为Releas版本
修改步骤:
1.在run和stop按钮的右边有一个工程名,点击工程名
2.选择Edit Scheme
3.左侧选择Run "工程名" 右侧选择Info页,在Build Configuration选择release还是debug.
提到release 和 debug 又提到另一个点
NSLog并不是简单的输出,它会做很多工作,如果程序中存在大量的log那么它会占用很多资源, 那么优化NSLog就是必要的了. 通过学习了解到可以在debug模式下显示log,在release模式下自动屏蔽log输出代码.
方法如下:在工程的Prefix.pch中添加如下代码

#ifndef __OPTIMIZE__

#define NSLog(...) NSLog(__VA_ARGS__)

#else

#define NSLog(...){}

#endif

编译运行,当选择release模式时,程序不会有打印,当选择debug时程序会正常打印

转载于:https://www.cnblogs.com/NatureZhang/p/3801191.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

porting linux

编译器:arm-linux- 3.4.1 出现以下错误 cc1: error: invalid option short-load-bytesmake: *** [entry.o] 错误 1 如果改用2.95.3则不会出现该问题。 原因是高版本的编译器不支持-mshort-load-bytes选项,改为-malignment-traps即可。 makefile中一些易忘…

.Net Core with 微服务 - 分布式事务 - 2PC、3PC

最近比较忙,好久没更新了。这次我们来聊一聊分布式事务。在微服务体系下,我们的应用被分割成多个服务,每个服务都配置一个数据库。如果我们的服务划分的不够完美,那么为了完成业务会出现非常多的跨库事务。即使按照 DDD 的原则来切…

写给还在大学的兄弟姐妹

看到软件专业毕业生之一个月攻略 这篇文章之后,忽然想起了自己两个多月前找工作时的写的一篇文章,便拿出来与大家分享。 这仅是个人的一些看法,不正确之处还请各位指出,有砖尽管拍。 基础很重要 许多企业招聘,要求大学…

2019优质公众号大盘点,果断收藏了慢慢看吧 ~

全世界只有3.14 % 的人关注了青少年数学之旅又到年底了啦,也到了一年一度的年底盘点时间。那么2019年,又有哪些优质公众号崭露头角呢?本期将为您盘点几个优质公众号,总有一个刷屏过你的朋友圈!长按二维码,选…

让未备案的网站先飙起来

让未备案的网站先飙起来作者:田逸(sery163.com)国人在技术方面的创新能力不怎么样,但是在设置障碍,折腾自己人的方面的创造性却登峰造极,比如网站备案。要备案也没什么问题,毕竟大家都是老老实实…

TDengine和DolphinDB哪个更好,哈哈哈哈,闲来无聊分析了一下。

#拥抱开源—涛思数据TDengine有奖征稿# TDengine是专为时序数据设计的,针对的是物联网、工业互联网、IT运维场景。这些场景是不需要特殊的查询函数的,更关心的是写入速度、查询速度。而且这些场景下,也需要一些其他数据库不具备的功能&#…

技术总监谈好的程序员如何写代码

要判断一个程序员是不是好的程序员,主要看他写的代码,因为程序员最重要的事是写代码。 即便不去理解代码的意图,只要看一眼,好的程序员写的代码与差的程序员写的代码基本上就可以看出来。好的程序员写的代码,整洁而规范…

记一次 .NET 某WMS仓储打单系统 内存暴涨分析

一:背景 1. 讲故事七月中旬有一位朋友加wx求助,他的程序在生产上跑着跑着内存就飙起来了,貌似没有回头的趋势,询问如何解决,截图如下:和这位朋友聊下来,感觉像是自己在小县城当了个小老板&#…

C语言面试题之华为篇2(答案全)

C语言面试题之华为篇(答案全) (1)什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编…

一分钟读懂一个数学时代,看完不跪算我输!

▲ 点击查看上帝说,要有光,于是便有了光。而香农说,要有熵,于是信息化时代正式拉开帷幕。克劳德艾尔伍德香农(Claude Elwood Shannon)被尊称为“信息论之父”。不管你是否知道他,是如何看待他…

秋招面试我去了拼多多,直接被问JVMGC底层原理和算法,我吊打面试官

JVM 常用参数设置积累 # 堆的初始值,默认物理内存的1/64 -Xms: # 堆的最大值,默认物理内存的1/4 -Xmx: # 年轻代大小「在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系…

php中使用exec,system等函数调用系统命令

2019独角兽企业重金招聘Python工程师标准>>> 注意:要想使用这二个函数php.ini中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的。  先看一下php手册对这二个函数的解释:  exec --- 执行外部程式  语法 : string exec ( string com…

了解jQuery技巧来提高你的代码

jQuery之所以如此流行并被从大公司到个人博客的几乎每个人都广泛使用,是因为它上手和使用相当简单,而且为我们提供了一些人都不知道的相当棒的特性。我认为jQuery的大多数用户更趋向于使用jQuery插件来解决面临的难题,这通常是明智的选择。但…

Vista Dynamips模拟器安装

原因由于npf文件,缺少这个文件就不能获取网卡参数:解决1:安装Ethereal,在安装过程中勾选“Start WinPcap service "NPF" at startup”这一项.然后就可以获取网卡参数!有可能不行,没关系.解决2:输…

如何主动清空.NET数据库连接池?

一般我们的项目中会使用1到2个数据库连接配置,同程艺龙的数据库连接配置被收拢到统一的配置中心,由DBA统一维护,业务方通过某个配置字符串拿到的是开箱即用的Connection对象。DBA能在对业务方无侵入的情况下,给业务方切换备份数据…

Java面试会问的——数组、声明、初始化、冒泡、多维数组、稀疏数组

数组 数组时相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每一个数组元素可以通过一个下标来访问它们。 数组声明创建 首先必须声明数组变量,才能在…

假如有人在今天炸了支付宝的存储服务器...

全世界只有3.14 % 的人关注了青少年数学之旅今天在知乎看到了一个问题《假如有人把支付宝存储服务器炸了(物理炸),大众在支付宝里的钱是不是就都没有了呢?》外行人问题。网站都是有服务器的,服务器都是有实体的。那么支…

Android STL PORT

ndk中包含了stl对应的库,在$(NKD_HOME)/sources/cxx-stl/stlport/stlport 有关Android NDK的C STL开发相关总结如下: 从Android NDK r5开始支持了STL Port,在这个版本开始就可以使用部分STL库的功能了,比如说vector、map,string摆脱c下面容易…

Cookie全解

1. Cookie 可以存储哪些值 在 Cookie 中只能存储个人可识别信息. 个人可识别信息是指可以用来识别或联系用户的信息. 例如用户的姓名, 电子邮件, 家庭住址等. 必须强调的是, 这些可识别信息必须是非机密或重要信息. 2. 使用 Cookie 对象保存和读取客户端信息. 要存储一个 Cooki…

C# 10 完整特性介绍

前言开头防杠:.NET 的基础库、语言、运行时团队从来都是相互独立各自更新的,.NET 6 在基础库、运行时上同样做了非常多的改进,不过本文仅仅介绍语言部分。距离上次介绍 C# 10 的特性已经有一段时间了,伴随着 .NET 6 的开发进入尾声…