在 xcconfig 文件中区分 iOS 和 macCatalyst

Differentiate between iOS and macCatalyst in xcconfig file

在 xcconfig 文件中可以使用 sdkarch 说明符。例如:

BUILD_SETTING_NAME[sdk=sdk] = value for specified sdk
BUILD_SETTING_NAME[arch=architecture] = value for specified architecture

在为 macCatalyst ("UIKit for Mac") 构建时如何使用它来使用不同的值?

好的,事实证明比我想象的要容易。您可以在 xcconfig 文件中简单地执行此操作:

SOME_PLATFORM_DEPENDENT_VALUE = "use this on iOS";
SOME_PLATFORM_DEPENDENT_VALUE[sdk=macosx*] = "use this on macOS including macCatalyst";

在第一行为所有平台设置值。在第二行,您可以为特定的 SDK 设置值。特定值优先于 "general" 值。

就是这样!您可以在 great NSHipster article.

中了解有关这些不同选项的更多信息