码迷,mamicode.com
首页 > 移动开发 > 详细

iOS程序编译打包的两种方式

时间:2015-03-07 19:55:45      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

这个选项其实是用来设置我们要如何打包我们的代码.

Architectures: 项目要编译的目标设备列表, 设置以哪种方式打包我们的代码

第一种方式: 包含两种架构的代码包(32bit, 64bit), 但是这种打包方式只能运行在iOS6以上的系统, 也就是说这种打包方式, 对手机没有要求, 只是对系统有要求.

第二种方式: 只包含一种架构的代码(32bit), 这种打包方式, 对于手机和系统都没什么要求, 但是这样会降低64位系统的手机性能

如果要兼容iOS5以及更低的系统, 只能打32位的包, 如果是包含两种架构的包, 则系统会根据系统位数来运行对应位数的代码包.

问题: 

1. 为什么能运行两种架构的代码?

因为64位的系统有两套FrameWork, 一套是32位的, 一套是64位的, 系统根据是哪种架构的代码, 来调用对应位数的FrameWork作为底层支撑

2. 为什么说64位的系统运行32位的代码会降低手机的性能?

因为在64位系统同时运行两种架构的代码时, 系统会将两套FrameWork载入内存中, 所以消耗的内存比较多, 从而降低手机的性能.

Valid Architectures: 项目可能支持的设备列表, 该列表和Architectures列表的交集, 将是Xcode要最终生成的二进制代码所支持的设备列表

Build Active Architectures Only: 设置是否只编译当前使用的设备对应的代码包.

 

程序的两种运行模式:

Debug模式: 面向自己的

Release模式: 面向客户的

我们可以通过这两种模式来实现对代码的精简, 我们可以在Debug模式下, 输出一些我们开发当中要用到的日志信息, 然后在Release模式下, 发布程序就可以了, 这样在发布的程序当中就不会再有大量的输出的日志信息了.

iOS程序编译打包的两种方式

标签:

原文地址:http://www.cnblogs.com/ZeroHour/p/4320776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!