文档章节

iOS开发-Xcode Debug、Release、Archive、Profile、Analyze

 北方人在上海
发布于 2016/05/19 13:42
字数 693
阅读 64
收藏 0
点赞 2
评论 0

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合并静态库

© 著作权归作者所有

共有 人打赏支持
粉丝 22
博文 187
码字总数 265578
作品 0
浦东
深入理解Flutter的编译原理与优化

导读:对于开发者而言,Flutter 工程和我们的 Android/iOS 工程有何差别?Flutter 的渲染和事件传递机制如何工作?构建缓慢或出错又如何去定位,修改和生效呢?凡此种种,都需要对 Flutter ...

程序师
07/07
0
0
深入理解flutter的编译原理与优化

闲鱼技术-正物 问题背景 对于开发者而言,什么是Flutter?它是用什么语言编写的,包含哪几部分,是如何被编译,运行到设备上的呢?Flutter如何做到Debug模式Hot Reload快速生效变更,Release...

闲鱼技术
06/29
0
0
深入理解 Flutter 的编译原理与优化

阿里妹导读:对于开发者而言,Flutter工程和我们的Android/iOS工程有何差别?Flutter的渲染和事件传递机制如何工作?构建缓慢或出错又如何去定位,修改和生效呢?凡此种种,都需要对Flutter...

技术小能手
07/06
0
0
在企业内部分发 iOS 应用程序

在企业内部分发 iOS 应用程序非常复杂。经过努力,我成功实现了在企业内部的应用程序分发。我决定用此文来记录我的最佳实践方法,以供将来参考。 如果你希望通过 Safari 能在任意的 iOS 设备...

三只脚的猪
2014/08/19
0
0
xcode合并模拟器和真机静态库的编译

最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法。不过Framework这样的...

AmoyAI
2013/03/02
0
1
Genesis-3D新手入门——14.发布到iOS平台

发布到iOS平台 在游戏制作完毕后,需要进行平台打包才能最终发布。Genesis-3D是一个可以支持很多平台的编辑器,这一篇我们就来学习如何让你把制作出的游戏在iOS平台上运行。 准备步骤 1.注册...

lengche
2014/02/20
0
0
xcode 制作静态库.a文件 详解

https://blog.csdn.net/pjk1129/article/details/7255163 最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Andro...

壹峰
05/10
0
0
创建cocos2d-x静态库为Xcode编译提速

把以前写的一个帖子内容转到这里来,写得比较乱,有时间再整理整理。 cocos2d-x项目编译太慢太长一直很让人诟病,特别是Xcode中的archive,要是再出几次错,就忒折磨人了,小小研究了下把基础...

yoyoso
2014/12/30
0
0
Java转iOS-第一个项目总结(2)

遇到问题和解决方案     本文是Java转iOS-第一个项目总结(1)的内容补充,分析遇到的一些问题和解决方案,分享一些收获。 1.UITableView滑动卡顿的优化    因为 的cell中有很多图片,在4...

蛙牛
2015/04/20
0
11
iOS各种调试技巧豪华套餐(下)

进击的码农 如果说你已经把打印的艺术运用的风生水起了,并且断点的使用可以信手拈来随心所欲,那么你已经在与逼优鸡的对峙中,稳操大部分胜券了,你已经是一个孤高冷艳的程序员了,俯视一切...

BruceYu的博客
2015/05/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
24分钟前
0
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
55分钟前
0
0
OSChina 周日乱弹 —— 局长:怕你不爱我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ andonny :分享周二珂的单曲《孤独她呀》 《孤独她呀》- 周二珂 手机党少年们想听歌,请使劲儿戳(这里) @孤星闵月 :没事干,看一遍红楼梦...

小小编辑
今天
147
9
Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模式 Template模板模式 Spring5 beans 接口实例化 代理Bean操作 ...

小致dad
今天
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
10
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
17
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
246
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部