Converting Your App to a 64-Bit Binary

这里概括一下,创建同时支持32-bit和64-bit运行时环境app步骤 安装Xcode 5.0.1 打开我们的工程.Xcode提示你升级你的工程,升级过程中,会产生一些新的错误和警告。这些错误和警告在我们编译64-bit的app是至关重要的 将工程的最低支持iOS版本升级至5.1.1.如果我们支持的系统版本低于5.1,我们将不能构建64-bit的工程 将build setting->Architectures改成“Standard Architectures (including 64-bit).” 升级应用支持64-bit运行时环境虽然编译错误和警告可以帮助我们简化这项工作,但是不能帮助我们全部解决所以问题,我们可以i这份文档提到的注意点针对我们的代码...
点我阅读更多...

Major 64-Bit Changes

数据类型的变化 在C和Objective-C语言里,每个平台(编译器)都自己定义了内建数据类型的一些内存属性(大小,对齐方式), 并没有一个统一的标准。这样做的好处是在于在语言标准的的严格定义下,每个平台可以让数值在操作系统和硬件下更好的适配。 iOS 64-bit 运行时也对很多内建数据类型的大小做了改变。在上层,很多 Cocoa Touch frameworks 使用的数据类型也做了改变。 ILP32和LP64 32-bit运行时表示为ILP32 其中,I表示整型;L表示长整型;P代表指针;ILP32表示在32-bit运行是里,整型、长整型、指针时32-bit长度 同理LP64则表示在64-bit运行时里 整型是32-bit长度;长整型、指针为64-bit长度 下表描述了...
点我阅读更多...

About 64-Bit Cocoa Touch Apps

随着桌面操作系统由32-bit到64-bit的过渡,64-bit的app的出现也在被OS的发展驱动着。现在,iOS的系统架构和桌面系统的架构也有很多相同的地方。从iOS7的A7处理器开始,我们就可以build支持64-bit处理器的app了。当app支持了64bit后在同样的机型上可以获取更高的性能 简介 apple 的A7处理器支持两个不同的指令集。一个是由apple早前处理器支持的32bit ARM指令集;另一个则是一个全新的64-bit ARM架构处理器。64-bit架构最重要的改进不局限于支持更大的地址空间,更是提供一个全新的The 64-bit architecture supports a new and streamlined instruction set that ...
点我阅读更多...

iOS特性修饰符(strong、weak...)

iOS特性在修饰的时候我们经常会和下面几个修饰符打交道 strong、retain、assign、unsafe_unretained、weak、nonatomic、atomic、copy 其中与内存有关的有strong、retain、assign、unsafe_unretained、weak,在使用过程中稍有不慎就会陷入内存泄露,搞清楚他们的作用很有必要 在描述之前我们需要补充说明一些概念 //修饰变量我们用__strong形式的修饰符 __strong id a = nil; __unsafe_unretained id b = nil; __weak id c = nil; //修饰特性我们用不带下划线的,表示一样 @property (nonato...
点我阅读更多...

iOS逆向工程-dumpdecrypted砸壳

近期想打开大门学习下同行们的iOS开发,于是想到了可以针对一些有特色的应用进行逆向工程,然后着重学习下该应用的设计架构。 由于自己也是初学者,下来就把自己躺过的坑记录在这里方便后续查阅。 逆向工程需要的工具 dumpdecrypted dumpdecrypted是一个砸壳工具。因为appstore安装包apple会为应用加上一层壳,所以在逆向之前我们需要先对应用进行砸壳。官方对dumpdecrypted描述是 Dumps decrypted iPhone Applications to a file 详细信息可以参考dumpdecrypted class-dump 为什么是class-dump It’s a great too...
点我阅读更多...

常用的图形变换

坐标系 坐标系在开发过程中常分为世界坐标系和屏幕坐标系 通常我们的坐标系采用右手型,下图展示了左手坐标系和右手坐标系的区别 左手坐标系,伸出左手用大拇指指向方向轴的方向,其余4个手指自然弯曲,则4指弯曲方向为角度变化的正方向 右手坐标系和左手坐标系对称,只需将左右换成右手即可 iOS采用的是左手坐标系 向量的变换 图像上每个点的位置可以看成一个向量n维向量,取决于图像的空间。所以对图像的变换可以等价于对向量的变换,研究向量的变换可以让我们更直观的了解图像变换的原理 向量的平移(对坐标系内某点得移动) 向量的缩放 X饭方向缩放a倍,Y方向缩放b倍,则有 向量的旋转 二位平面的向量旋转,即可以表示为三维空间的向量绕Z轴的旋转 如图: 将向量x在...
点我阅读更多...

获取iOS设备信息

由于最近要做iPhone6和iPhone6+的适配工作,所以难免会需要对设备型号进行判断,就借此机会总结下判断设备的方法 获取iOS设备信息 1.根据屏幕宽度大小进行判断 #define iPhone6 ([UIScreen instancesRespondToSelector:@selector( currentMode )] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO) #define iPhone6Plus ([UIScreen instancesRespondToSelector:@selector( currentMode ...
点我阅读更多...