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

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

查看SDK支持的格式

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

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

如何合并模拟器和真机SDK / Merge device framework and simulator to
image.png

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

如何合并模拟器和真机SDK / Merge device framework and simulator to
image.png

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

还是使用lipo命令:

  1. lipo -create -output $(要保存新生成可执行文件的地址) $(模拟器可执行文件地址) $(真机可执行文件地址)
如何合并模拟器和真机SDK / Merge device framework and simulator to
image.png
  1. 将生成的文件替换真机framework里面的可执行文件


    如何合并模拟器和真机SDK / Merge device framework and simulator to
    image.png
  2. 将模拟器framework里面的xx.swiftmodule里面的文件合并到真机framework对应的文件中。(复制粘贴)

如何合并模拟器和真机SDK / Merge device framework and simulator to
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!

你可能感兴趣的:(如何合并模拟器和真机SDK / Merge device framework and simulator to "fat" framework)