iOS App 64位兼容升级指南

苹果已经要求所有提交AppStore的新应用必须支持arm64位,而升级更新的App,也必须在5月份之前完成对64位的支持。所以从现在开始,就将64位当做开发的默认设置,是一个良好的习惯。


升级64位需要的准备

以下是App需要进行64位支持时,要进行的准备。
– 检查自己所有用到的第三方库有没有64位支持
– 检查对于所有64位和32位会出现问题的变量类型
– App的设置
– 其他
具体的可以参考以下资料:
1. 苹果官方的64位兼容指南
2. iOS7:如何为iPhone5s编译64位应用
3. iOS工程如何支持64-bit
4. sunnyxx blog: 64-bit Tips

升级64位会遇到的坑

  • 第三方库过老:遇到这种情况,我只能说,尽量放弃这些库吧。对于一些从C++等语言编译出来的库,你也可以尝试自己编译支持64位版本的库
  • 第三方库升级Bug:特别是国产的第三方SDK,大概是国产人力资源便宜,导致升级频繁而没有规划,于是你升级一个版本,可能会发现新的版本升级用的时间,比你重新导入一个新库的成本还高。这方面,比较有代表性的,就是支付宝的iOS SDK。后面我会专门列一下我在升级支付宝SDK时遇到的Bug。
  • 对变量替换时,要注意分清OC和CC++库。我在升级64位时,采用了正则搜索替换int到NSInterger类型,这就导致main主函数的int类型被替换,所以还要再换回来。

支付宝新版iOS SDK(支持64位)升级问题

  • 单独写支付宝,主要是我在升级64位应用的时候,在支付宝SDK升级中遇到问题最大。

问题列表
1. framework统一打包,造成所有使用支付宝的地方要重新导入
2. 将framework导入工程之后,要手动在search path中添加目录。
3. 如果是在本地进行的RSA验证加密,需要在将rsa等c语言文件导入的时候,添加#import <Foundation/Foundation.h>
4. 订单返回值回调方法和返回数据格式改变,需要另写解析方法

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注