在Xcode中,我们必须在Build Settings中配置许多路径,然后我们将处理$(SRCROOT)$(PROJECT_DIR),但是它们之间有什么不同,你能给我举个例子吗,谢谢.

推荐答案

在实践中可以交换,而文档在理论上有这些细微的区别:

  1. SRCROOT

    目录路径.标识包含target’s个源文件的目录:包含定义targetproject文件的路径.

    SOURCE_ROOTSRCROOT的一个未经记录的别名个

  2. PROJECT_DIR
    Identifies the directory containing the project (.xcodeproj)
    $(PROJECT_DIR)/build is used as the create the default value for:

    • 中间生成文件路径OBJROOT
    • 构建产品路径SYMROOT

    通常,这些路径不是按目标设置的,而是按项目或按用户设置的.

  3. PROJECT_FILE_PATH

概念上不同(1是关于定义target的项目,而2是关于任何目标的项目independently),它们总是指向同一个位置,因为本质上,你总是在构建一个目标.

References

Xcode 8.3 Build Settings reference
Xcode Build System Guide (Retired 2016-09-29)

Ios相关问答推荐

如何在SWIFT中处理不可发送的类型?

如何修复使用EFCore和SQLite的.Net MAUI iOS应用程序上的当前应用程序不支持NullabilityInfoContext?

如何在iOS中以编程方式推送另一个页面?

Xcode 15阻止我的应用程序运行:由于实时模式录制的高比率,丢失了1条日志(log)/路标消息?

确保方法调配的安全有效实施

iOS设备网页自动化中,在向字段发送文本后未启用按钮

SwiftUI中的Tap手势无法识别视图上的偏移变化

如何将 -fobjc-arc-exceptions 标志正确添加到 XCode 中?

在我的 M1 上出现 Architecture arm64 问题,因此我无法运行我的旧项目

xcode-select:找不到clang

iOS SwiftUI - 从以前的 struct 调用函数

如何从一个特定的视图控制器中隐藏导航栏

在原生和 phonegap 之间挣扎,简单的应用需求

为所有 UIImageViews 添加圆角

为什么 Xcode 4 不创建任何产品?

有什么方法可以加粗 NSString 的一部分?

在 UITableViewController 中使用 UISearchDisplayController 时断言失败

UIView - 加载视图时如何获得通知?

如何找到 UILabel 的实际行数?

使用 xib 创建可重用的 UIView(并从情节提要中加载)