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

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

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模式下, 发布程序就可以了, 这样在发布的程序当中就不会再有大量的输出的日志信息了.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。