tips:
相信目前大部分APP的工程框架已经是支持64bit,但是就在几天前,遇到一个公司几年前的框架,SQLCipher数据库加密,AES加密,ASI网络请求,JSONKit,ZipArchive。。全是32bit,全打包成了.a静态库,我曹,如果让工程支持64bit,那我岂不是要重新引入这些三方 /吓?但在废弃这个框架之前,确实需要这么干。
正文:
好在大部分用来打包.a文件的源文件都在gitlab上,我还能找到,这算是不幸中的万幸
1、AES替换,无问题
2、ASI替换,在”Target”->”Build Phases”->”Compile Source”中所有ASI 文件的compile Flags 设置”-fno-objc-arc” 兼容ARC
3、JSONKit替换,同2、
4、ZipArchive替换,同2、
error1:
当到这里的时候,编译发现一个错误”Implicit declaration of function ‘NSFileTypeForHFSTypeCode’ is invalid in C99”,
这是FMDB的问题,FMDatabaseAdditions.m中存在如下一段代码:我们需要在代码的外面做预编译处理
#if TARGET_OS_MAC && !TARGET_OS_IPHONE // 添加预编译处理
- (NSString*)applicationIDString {
NSString *s = NSFileTy