除了标准的“发布”和“调试”配置之外,我开发的一个应用程序还有一个“临时”配置,用于临时测试构建。在工作区中与它一起构建的框架没有此配置,因为它们的行为不是针对临时构建定制的。因此,当工作区为 ad-hoc 构建时,产品分为:
$BUILT_PRODUCTS_DIR
(具有 Adhoc
前缀)$BUILT_PRODUCTS_DIR/../Release-iphoneos
或 $BUILT_PRODUCTS_DIR/../Release-iphonesimulator
,取决于我们目前正在构建的目标。 通过添加
$(BUILT_PRODUCTS_DIR)/../Release-$(PLATFORM_NAME)
可以很容易地使用库和框架搜索路径。到那些设置。此时,我的应用程序构建正确,但在“嵌入框架”步骤中失败。我的框架被添加到应用程序项目中,位置为
BUILT_PRODUCTS_DIR
以及他们名字的相对路径。This question类似,但它仅适用于不需要此步骤的静态库 - 我正在使用框架。
如果有更好的方法来处理这个问题,请告诉我 - 但我不想将自定义配置向上推送到框架中,因为其中一些最终可能是开源的,我们内部流程的详细信息是在那种情况下无关紧要。
最佳答案
我在我的一个应用程序中遇到了类似的问题。在 Xcode 12.4 中,我可以通过设置 来解决它。系统框架搜索路径 我的 Ad Hoc 配置为 $(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)
.
通过选择 Target,然后选择 Build Settings 选项卡,可以在项目中找到此设置。我建议搜索“系统框架”来找到它。添加路径后,Xcode 会将其转换为系统上的实际路径,如我的屏幕截图所示。
关于ios - Xcode "Embed Frameworks"在不同配置下构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709944/