繁体   English   中英

xcode用于同一目标上的设备与模拟器的不同链接器/ cflags?

[英]xcode different linker/cflags for device vs simulator on same target?

任何人都知道是否有可能在xcode中的同一构建目标上为模拟器与设备设置不同的cflags /链接器标志。

在.xcconfig文件中,您可以拥有

OTHER_CFLAGS[sdk=iphoneos*] = foobar
OTHER_CFLAGS[sdk=iphonesimulator*] = barfoo

任何构建设置都可以以多种方式为条件,例如sdk的短名称。 例如,设备SDK名为iphoneos-4.0,而sim iphonesimulator-4.0。 因此,上面的设备为CFLAG为'foobar',为sim提供'barfoo'。

要快速开始使用xcconfigs:

  1. 新文件>其他>配置设置文件
  2. 打开项目或目标编辑器(cmd-alt-E表示目标编辑器)
  3. 选择要自定义的设置(如cflags),然后使用cmd-c复制它
  4. 粘贴到新的xcconfig文件中
  5. 修改如上
  6. 在项目或目标编辑器的右下角,选择xcconfig文件为“基于”。

请注意构建设置UI现在如何编辑条件...您可以使用左下方按钮创建新条件,但不允许您设置“iphoneos *”,例如,仅设置特定版本。

请注意,神奇的$(继承)允许您创建一个继承项目设置但只覆盖其中一部分的设置,如下所示:

OTHER_CFLAGS[sdk=iphoneos*] = $(inherited) foobar
OTHER_CFLAGS[sdk=iphonesimulator*] = $(inherited) barfoo

我不知道xcconfigs的一个很好的资源,但这无论如何都会让你入门: http ://robnapier.net/blog/build-system-1-build-panel-360#more-360

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM