美文网首页
Xcode14和Xcode13的BuildSetting的区别对

Xcode14和Xcode13的BuildSetting的区别对

作者: 山已几孑 | 来源:发表于2023-09-24 15:37 被阅读0次

    Xcode14和Xcode13的clang版本有区别,对应的,BuildSetting中的参数也有些许的区别

    EAGER_LINKING
    仅 Swift 的框架和动态库目标可以使用 EAGER_LINKING 构建设置选择新的构建系统优化。启用此功能后,Xcode 会在 Swift 编译期间发出额外的工件,这允许 Xcode 更早地取消阻止下游目标的链接,从而增加构建中的并行性。

    FUSE_BUILD_SCRIPT_PHASES
    并行执行脚本:Build Phases 中有个 Run Script 的配置项,在 Xcode 14 之前,不管这些脚本是否有依赖,Xcode 默认都是执行完一个脚本再去执行另一个,有些脚本执行会比较耗时。在 Xcode 14 中,允许开启并行执行脚本,我们可以在 Build Settings 中配置 FUSE_BUILD_SCRIPT_PHASESYES 开启(⚠️ 需要注意脚本与脚本之间有依赖关系的情况,此时不能盲目开启并行脚本处理,苹果提供了沙箱执行脚本机制来解决脚本依赖的 case,可以参考 session 110364):

    ENABLE_USER_SCRIPT_SANDBOXING
    可能就是上面说的那个沙箱机制,没找到。。

    INFOPLIST_KEY_LSApplicationCategoryType
    是一个分类,里面是关于app的类型的分类如:书籍、商务、开发工具、教育、企业、金融、游戏㩐等;
    INFOPLIST_KEY_LSUIElement
    如果该关键字被设为YES,启动服务会将该应用程序作为一个用户界面组件来运行。用户界面组件不会出现在Dock或强制退出窗口中。虽然它们通常作为后台应用程序运行,但是如果希望的话,它们也可以在前台显示一个用户界面。点击属于用户界面组件的窗口,应用程序将会处理产生的事件。
    Dock和登录窗口是两个用户界面组件应用程序。默认为NO

    INFOPLIST_KEY_LSBackgroundOnly
    如果该关键字存在并且被设为YES,启动服务将只会运行在后台。您可以使用该关键字来创建无用户界面的后台应用程序。如果您的应用程序使用了连接到窗口服务器的高级框架,但并不需要显示出来,您也应该使用该关键字。后台应用程序必须被编译成Mach-O可执行文件。该选项不适用于CFM应用程序。默认为NO
    您也可以指定该关键字的类型为Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持这些类型的值。

    INFOPLIST_KEY_MetalCaptureEnabled
    Metal是一种 Apple 图形技术,可让游戏和 App 近乎直接地访问图形处理器 (GPU)。Metal 在复杂的 3D 环境(如游戏)、视频编辑 App(如 Final Cut Pro)和其他 App 中提供了更好的图形性能。

    有人说iOS15无法调起Broadcast扩展,是这个的原因,我没接触过

    TAPI_ENABLE_PROJECT_HEADERS

    CLANG_LINK_OBJC_RUNTIME //13 上面是yes,14是NO
    当使用Objective-C代码链接目标时,在Foundation中隐式链接(并且部署回较旧的操作系统)向后兼容库,以允许较新的语言功能运行在,不支持运行时操作系统上运行。大多数使用Objective-C的target都应该使用,尽管在少数情况下,目标应该选择退出这种行为。

    RUN_DOCUMENTATION_COMPILER
    是否编译文档
    DOCC_EXTRACT_SWIFT_INFO_FOR_OBJC_SYMBOLS
    把swift的信息基于OC的符号表导出成为文档
    DOCC_EXTRACT_OBJC_INFO_FOR_SWIFT_SYMBOLS
    把swift的信息基于OC的符号表导出成为文档
    DOCC_HOSTING_BASE_PATH
    文档的默认目录
    OTHER_DOCC_FLAGS
    DOC的其他编译标识

    CLANG_CXX_LIBRARY
    编译器的C++编译选项

    https://www.sohu.com/a/557548148_121124372
    https://xiaozhuanlan.com/topic/9706284531
    https://www.jianshu.com/p/59279b018217

    相关文章

      网友评论

          本文标题:Xcode14和Xcode13的BuildSetting的区别对

          本文链接:https://www.haomeiwen.com/subject/eqctldtx.html