基于构建目标SDK嵌入不同的框架构建

时间:2020-02-27 06:49:54

标签: ios xcode

我正在使用第三方框架(Cronet),并希望基于Build Target SDK嵌入该框架的不同构建/版本(即iOS模拟器构建与设备构建)。

在框架名称相同的情况下,如何在Xcode中指定它,但只能在不同的目录(Debug-iphonesimulator/Debug-iphoneos/)中指定。

我试图将两个版本都添加到Xcode Build Phases-> Embed Frameworks中,但是构建将失败并且抱怨重复,所以我只选择了一个。 (参见图片)。

顺便说一句,我只想在两个版本中使用一个Target而不是两个Target。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用lipo工具将模拟器和iphone框架二进制文件合并为一个二进制文件:

lipo "path/to/simulator/framework/Cronet.framework/Cronet" "path/to/iphone/framework/Cronet.framework/Cronet" -create -output "path/to/output/framework/Cronet.framework/Cronet"

然后复制任何Cronet.framework,将二进制Cronet替换为lipo文件新创建的二进制文件。 之后,您可以在两个目标中使用此框架:模拟器和iphone

相关问题