当我将一个框架添加到我的Xcode项目中时,要嵌入我的应用程序包中,如何为它的调试或发布创建两个不同的选项(我有两个版本的框架,一个编译为发布,一个用于调试)。
这就是我所指的:
如您所见,使用该配置,它只是复制CEF / Debug上的那个,无论它是在Release还是Debug模式下编译。
理想情况下,我想要一些像你一样的设置:
答案 0 :(得分:1)
您可以在构建阶段中管理要嵌入自定义运行脚本的框架:
#!/bin/bash
# Your frameworks to embed
FRAMEWORK="Debug.framework"
if [ $CONFIGURATION == "Release" ]; then
FRAMEWORK="Release.framework"
fi
# Destination to copy inside the app's frameworks folder
NAME=$(basename $FRAMEWORK)
DESTINATION=${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/$NAME
# Don't copy if it's already copied
if [ ! -d $DESTINATION ]; then
# Copy the framework to the app's frameworks folder
cp -r $FRAMEWORK $DESTINATION
# Sign (if needed)
codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements $DESTINATION
fi
答案 1 :(得分:0)
请注意,您可以通过为应用设置环境var DYLD_IMAGE_SUFFIX来引入不同的共享库(例如框架)。因此,如果你的(一个)框架内有CEF.framework / Versions / Curent / CEF和CEF.framework / Versions / Curent / CEF_debug并设置了env var DYLD_IMAGE_SUFFIX = _debug,它将为该运行加载第二个。
答案 2 :(得分:0)
你不需要。嵌入式框架将根据消费者应用程序的构建进行构建。 您可以通过在应用程序上添加构建架构(如Debug2)然后进行编译来测试它。您将收到嵌入式错误,因为它尝试使用Debug2架构进行编译,这在嵌入式框架中不可用。现在复制一些模式并将其命名为Debug2。它将构建。