xcode armv6 armv7 armv7s arm64指令集
2015-06-13 22:31
543 查看
如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^
我要捐赠: 点击捐赠
Cocos2d-X源码下载:点我传送
之前每个版本的ipa包打出来都才20M出头,后来不知道从哪个版本起打的包每次都将近40M,但是工程中也没有明显的增加很大第三方类或者图片、静态文件。于是就开始了各种瘦身计划:压缩图片,删除不必要静态库。做了一番改动后发现包只比原来小了1M多,收效甚微。
其实是armv6 armv7 armv7s arm64引起编译包翻倍增大的问题,试了一下,果然ipa包又回到了以前的大小。
下边来说一下关于ios这个指令集:
目前ios的指令集有以下几种:
armv6
iPhone
iPhone2
iPhone3G
第一代和第二代iPod Touch
armv7
iPhone4
iPhone4S
armv7s
iPhone5
iPhone5C
arm64
iPhone5S
机器对指令集的支持是向下兼容的,因此armv7的指令集是可以运行在iphone5S的,只是效率没那么高而已~
在xcodeTARGETS里边Architectures:
Architecture : 指你想支持的指令集。
Valid architectures : 指即将编译的指令集。
Build Active Architecture Only : 只是否只编译当前适用的指令集。
现在4S的用户还是蛮多的,而iphone3之类的机器几乎没有了,所以我们的指令集最低必须基于armv7。
因此,Architecture的值选择:armv7 armv7s arm64
PS:选arm64时需要最低支持5.1.1:
Convert Your App to a 64-Bit Binary After Updating It for iOS 7
Xcode 5.0.1 can build your app with both 32-bit and 64-bit binaries included. This combined binary requires a minimum deployment target of iOS 5.1.1 or later. The 64-bit binary runs only on 64-bit devicesrunning iOS 7.0.3 and later. If you have an existing app, you should first update your app for iOS 7 and then port it to run on 64-bit processors. By updating it first for iOS 7, you can remove deprecated code paths and use modern practices. If you’re creating
a new app, target iOS 7 and compile 32-bit and 64-bit versions of your app.
The architecture for 64-bit apps on iOS is almost identical to the architecture for OS X apps, making it easy to create a common code base that runs in both operating systems. Converting a Cocoa Touch app
to 64-bit follows a similar transition process as the one for Cocoa apps on OS X. Pointers and some common C types change from 32 bits to 64 bits. Code that relies on the
NSIntegerand
CGFloattypes
needs to be carefully examined.
Start by building the app for the 64-bit runtime, fixing any warnings that occur as well as searching your code for specific 64-bit issues. For example:
Make sure all function calls have a proper prototype.
Avoid truncating 64-bit values by accidentally assigning them to a 32-bit data type.
Ensure that calculations are performed correctly in the 64-bit version of your app.
Create data structures whose layouts are identical in the 32-bit and 64-bit versions of your app (such as when you write a data file to iCloud).
1,如果想自己的app在各个机器都能够最高效率的运行,则需要将Build Active Architecture Only改为NO,Valid architectures选择对应的指令集:armv7 armv7s arm64。这个会为各个指令集编译对应的代码,因此最后的
ipa体积基本翻了3倍,Release版本必须NO。
2,如果想让app体积保持最小,则现阶段应该选择Valid architectures为armv7,这样Build Active Architecture Only选YES或NO就无所谓了
现在,官方提交APP必须支持64位了。
如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^
我要捐赠: 点击捐赠
Cocos2d-X源码下载:点我传送
相关文章推荐
- Java字节码指令集的使用详细
- xcode 4 制作静态库图文详解
- 解决 Xcode 6-Beta2 智能提示bug
- XCode编译速度慢的处理方法
- mac git xcrun error active developer path 错误
- Cocos2d开发1:Xcode与TexturePacker的集成
- windows下objective-c的cocoa框架编程,可以有图形界面哟
- Xcode5.0.2 资源更新问题
- 计算机必知必会:精简指令集与复杂指令集
- Mac OS X上搭建本地SVN服务器
- Xcode4.5中Architectures中的Architectures和Valid Architectures的区别
- xcode 调试技巧
- xcode 每次 全部 重新 编译 的问题
- Xcode快捷键大全
- Xcode4快速Doxygen文档注释 — 简明图文教程(3分钟后爽歪歪)
- XCode 4.2 新功能 - Storyboard
- Xcode 和 SDK各个版本的下载地址
- 高效使用你的XCode
- Xcode Debugging
- (转) Xcode 4.1/4.2/4.3 免证书(iDP)开发+真机调试+生成IPA全攻略(99美金省了)