如何合并模拟器和真机SDK / Merge device framework and simulator to "fat" framework

如何合并模拟器和真机SDK
/ Merge device framework and simulator to "fat" framework

查看SDK支持的格式

lipo -info $(可执行文件路径)

结果是i386 x86_64,这是模拟器版本。

image.png

结果是armv7 armv64,这是真机版本。

image.png

那么如何合并这两个,让模拟器和真机都能够使用呢?

还是使用lipo命令:

  1. lipo -create -output $(要保存新生成可执行文件的地址) $(模拟器可执行文件地址) $(真机可执行文件地址)
image.png
  1. 将生成的文件替换真机framework里面的可执行文件


    image.png
  2. 将模拟器framework里面的xx.swiftmodule里面的文件合并到真机framework对应的文件中。(复制粘贴)

image.png
  1. 修改header文件
    修改 xx-Swift.h 文件

a. 将下面这行代码:

#elif defined(__arm64__) && __arm64__

改成

#elif (defined(__arm64__) && __arm64__) || (defined(__x86_64__) && __x86_64__)

b. 将下面这行代码:

#elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__

改成

#elif (defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__) || (defined(__i386__) && __i386__)

Done!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容