ios - Xcode "Embed Frameworks"在不同配置下构建

标签 ios xcode

除了标准的“发布”和“调试”配置之外,我开发的一个应用程序还有一个“临时”配置,用于临时测试构建。在工作区中与它一起构建的框架没有此配置,因为它们的行为不是针对临时构建定制的。因此,当工作区为 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 会将其转换为系统上的实际路径,如我的屏幕截图所示。
    Build Settings Example

    关于ios - Xcode "Embed Frameworks"在不同配置下构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709944/

    相关文章:

    ios - 删除 UITableView 中单元格前的空白

    ios - 当我更改目标设备时,哪些编译器设置会更改?

    ios - 使用 NSXMLparser,如何解析具有相同名称标签但元素不同的 xml 文件?

    ios - Xcode - 使用 XIB 锁定除一个 View 以外的所有 View

    ios - X代码/swift 3 : How to shift storyboard elements down/up without messing up existing constraints?

    ios - 为什么我的 SwiftUI 应用程序在将 `NavigationLink` 放入 `navigationBarItems` 中的 `NavigationView` 中后向后导航时会崩溃?

    ios - 如何使用步进 slider 在 slider 拇指上添加 UILabel?

    iOS 8 : Launch Screen StoryBoard appears black [single XIB file works fine]

    swift - AVFoundation 类未在 OSX xcode 项目中解析

    Xcode 未检测到我的设备