不同 Debug 和 Release 框架的环境配置 - Xcode
Posted
技术标签:
【中文标题】不同 Debug 和 Release 框架的环境配置 - Xcode【英文标题】:Environment configuration for different Debug and Release framework - Xcode 【发布时间】:2020-02-27 08:57:29 【问题描述】:我有两个来自支付提供商的框架,它们提供Debug
和Release
框架,用于不同的环境。
我试图在网上配置/查找一种方法,我可以在一个方案中配置它们的导入,并且根据Build Configuration
,它将在Debug
和Release
框架之间切换.
我使用Framework Search path
例如Debug
来获得框架的调试url,同样Release
链接到发布框架的url 到文件。
我正在寻找更有用和更容易的东西,例如运行脚本,或者避免手动导入每个构建配置。
注意:框架同名,框架是用objective-c构建的,没有单头导入。
【问题讨论】:
【参考方案1】:您可以尝试以下方法,
在.xcodeproj所在的项目目录下新建文件夹“Frameworks”。
将发布框架放在 /Frameworks/Release/arm64/
将调试框架放在 /Frameworks/Debug/x86_64/
在构建阶段粘贴下面的脚本 -> 运行脚本:
cp -r "$PROJECT_DIR/Frameworks/$CONFIGURATION/$ARCHS" "$PROJECT_DIR/"
rm -dfR <Name of the framework> && \
cp -pRP "$ARCHS" <Name of the frameowrk> && \
rm -rf "$ARCHS"
【讨论】:
我需要将它们作为嵌入式框架导入,还是只需添加此代码? @nataMio 是的。您需要在嵌入式框架中添加框架。以上脚本将根据编译时选择的配置替换框架。 它不是理想的解决方案。 您可以在***.com/questions/40400086/… 中尝试解决方案并使用 $CONFIGURATION 嵌入调试和发布框架【参考方案2】:不确定它是否适合您的需求,但您可以尝试
#if DEBUG
import debugFramework
#else
import releaseFramework
#endif
【讨论】:
以上是关于不同 Debug 和 Release 框架的环境配置 - Xcode的主要内容,如果未能解决你的问题,请参考以下文章
极光推送 debug模式能收到远程推送 release模式下收不到消息
CMAKE设置VS工程中Debug和Release不同的输出名称