我正在使用第三方框架(Cronet),并希望基于Build Target SDK嵌入该框架的不同构建/版本(即iOS模拟器构建与设备构建)。
在框架名称相同的情况下,如何在Xcode中指定它,但只能在不同的目录(Debug-iphonesimulator/
与Debug-iphoneos/
)中指定。
我试图将两个版本都添加到Xcode Build Phases
-> Embed Frameworks
中,但是构建将失败并且抱怨重复,所以我只选择了一个。 (参见图片)。
顺便说一句,我只想在两个版本中使用一个Target而不是两个Target。
答案 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