设置Build activeperl 64位下载 Architecture Only 为No 是不是就不是64位了

整理下查到的资料
目前ios的指令集有以下几种:
iPhoneiPhone2iPhone3G第一代和第二代iPod Touch
iPhone4iPhone4S
iPhone5iPhone5C
&机器对指令集的支持是向下兼容的,因此armv7的指令集是可以运行在iphone5S的,只是效率没那么高而已~
================================================
Architecture :&指你想支持的指令集。
Valid architectures : 指即将编译的指令集。
Build Active Architecture Only : 只是否只编译当前适用的指令集。
================================================
&现在是2014年初,其实4和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 devices running 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&&and&&types
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就无所谓了
2 、xcode6,Architecture默认没有armv7s,
某论坛上的一个很靠谱的:
最近装了Xcode6,以便适配iOS8。可是打包出问题了,打好的包没有armv7s。
原因是Build Settings中的Architectures项中的$(ARCHS_STANDARD)不含armv7s,只有armv7和arm64,好吧,另外加上一个armv7s就好了
打开终端,cd到静态库的地方。输入命令
.framework文件
lipo -info ./****.framework/****
Architectures in the fat file: ./****.framework/**** are: i386 armv7 armv7s&
如此便可查看你工程中的静态库是否支持64位。
lipo -info libUPPayPlugin.a
Architectures in the fat file: libUPPayPlugin.a are: armv7 armv7s arm64 i386 x86_64&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:14955次
排名:千里之外
原创:33篇
转载:32篇
(1)(2)(5)(4)(4)(1)(1)(3)(7)(19)(11)(1)(1)(7)ios(110)
Build Active Architecture Only 这个属性,
设置为NO时,编译支持的多个版本,如: armv7,arm64
设置为YES时,编译出的版本是可以向下进行兼容的,用iPhone4编译出来的是armv7版本的,iPhone5(armv7s)也可以运行,但是armv6(iPhone 2G/3G,iPod 1G/2G)的设备就不能运行了
所以在调试的时候比较适宜设置 Build Active Architecture Only 位 YES,这样只编译一个版本,速度会比较快;
在发布的时候,需要设置
Build Active Architecture Only 位 NO,这样以支持多种设备
设备版本:
armv6:iPhone 2G/3G,iPod 1G/2G
armv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G
armv7s:iPhone5, iPod5
arm64: iPhone5s开始的iPhone,iPad Air开始的iPad等新设备
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:631134次
积分:7301
积分:7301
排名:第1959名
原创:192篇
转载:55篇
评论:64条
阅读:36686
(1)(5)(7)(1)(7)(5)(6)(11)(7)(4)(7)(2)(9)(6)(9)(5)(5)(2)(2)(3)(6)(7)(2)(3)(4)(5)(3)(4)(1)(4)(13)(11)(7)(4)(4)(2)(8)(4)(4)(4)(13)(10)(7)(13)(1)设置Build Active Architecture Only 为No 是不是就不是64位了_百度知道
设置Build Active Architecture Only 为No 是不是就不是64位了
1你好,修改为$(ARCHS_STANDARD_32_BIT) 2;Build Setting -&OBuild Settings—&Architectures—&gt. TARGETS-& Architectures -&Valid Architectures 改为 armv7 armv7s 3. Targets—&gt
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
architecture的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁推荐这篇日记的豆列
······小胖说事37-iOS基础知识之UIScrollview的署理和Build Active Architecture Only属性 - 操作系统当前位置:& &&&小胖说事37-iOS基础知识之UIScrollview的署理和Buil小胖说事37-iOS基础知识之UIScrollview的署理和Build Active Architecture Only属性&&网友分享于:&&浏览:0次小胖说事37-----iOS基础知识之UIScrollview的代理和Build Active Architecture Only属性总述:今天对UIScrollview的代理记忆有点模糊,所以查了一下文档,并记录下来;还有就是对于Xcode编译打包时候的Build Active Architecture Only属性的理解也记录下来,毕竟,好记性不如烂笔头,O(∩_∩)O哈哈哈~
<span style="font-family:Comic Sans MS; font-size:18 color:#.scrollview的代理:
//只要滚动了就会触发
- (void)scrollViewDidScroll:(UIScrollView *)scrollV
NSLog(@& scrollViewDidScroll&);
NSLog(@&ContentOffset
%f,yis %f&,scrollView.contentOffset.x,scrollView.contentOffset.y);
//开始拖拽视图
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollV
NSLog(@&scrollViewWillBeginDragging&);
//完成拖拽
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)
NSLog(@&scrollViewDidEndDragging&);
//将开始降速时
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollV
NSLog(@&scrollViewWillBeginDecelerating&);
//减速停止了时执行,手触摸时执行执行
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollV
NSLog(@&scrollViewDidEndDecelerating&);
//滚动动画停止时执行,代码改变时出发,也就是setContentOffset改变时
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollV
NSLog(@&scrollViewDidEndScrollingAnimation&);
//设置放大缩小的视图,要是uiscrollview的subview
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollV
NSLog(@&viewForZoomingInScrollView&);
return viewA;
//完成放大缩小时调用
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)
viewA.frame=CGRectMake(50,0, 100, 400);
NSLog(@&scale between minimum and maximum. called after any &#39;bounce&#39; animations&);
}// scale between minimum and maximum. called after any &#39;bounce&#39; animations
//如果你不是完全滚动到滚轴视图的顶部,你可以轻点状态栏,那个可视的滚轴视图会一直滚动到顶部,那是默认行为,你可以通过该方法返回NO来关闭它
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollV
NSLog(@&scrollViewShouldScrollToTop&);
return YES;
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollV
NSLog(@&scrollViewDidScrollToTop&);
<span style="font-family:Comic Sans MS; font-size:18 color:#.对Build Active Architecture Only属性的理解
这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。
而设置为no时,会编译所有的版本。
这个是设备对应的architecture:
armv6:iPhone 2G/3G,iPod 1G/2G
armv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G
armv7s:iPhone5, iPod5
编译出的版本是向下兼容的,比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。
所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。
大家可以加头部的QQ群一起交流学习~
版权声明:本文为博主原创文章,未经博主允许不得转载。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有

我要回帖

更多关于 activeperl 64位下载 的文章

 

随机推荐