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模式下, 发布程序就可以了, 这样在发布的程序当中就不会再有大量的输出的日志信息了.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。