Xcode:项目设置与目标设置
我正在为我们的一位客户在MacOSX上创建一个静态库,以及一个小型cmd行应用程序来测试静态库。cmd行项目有两个额外的库搜索路径,这意味着我在发布模式下链接到调试版本,几乎发疯了,所以我试图摆脱这两个路径,但我找不到它们的指定位置。我在查看项目信息,但结果发现它们是在目标信息中指定的Xcode:项目设置与目标设置,xcode,settings,target,Xcode,Settings,Target,我正在为我们的一位客户在MacOSX上创建一个静态库,以及一个小型cmd行应用程序来测试静态库。cmd行项目有两个额外的库搜索路径,这意味着我在发布模式下链接到调试版本,几乎发疯了,所以我试图摆脱这两个路径,但我找不到它们的指定位置。我在查看项目信息,但结果发现它们是在目标信息中指定的 我不明白区别?!为什么有两套基本相同的设置?!有人能告诉我吗 一个项目可以包含多个目标。例如,我编写的一个应用程序有四个部分——应用程序本身、一个快速查看插件、一个框架和一个包含Mac OS 10.6特定功能的捆
我不明白区别?!为什么有两套基本相同的设置?!有人能告诉我吗 一个项目可以包含多个目标。例如,我编写的一个应用程序有四个部分——应用程序本身、一个快速查看插件、一个框架和一个包含Mac OS 10.6特定功能的捆绑包,这些功能可以动态加载 项目设置应用于项目中的每个目标。然后,如果需要,每个目标都可以覆盖单个设置—例如,我的项目的目标SDK设置为10.5,但特定于10.6的捆绑包将其目标SDK设置为10.6
在某些情况下,某些设置在项目设置中没有意义-我猜其中一个是搜索路径。在一个项目中通常有多个目标-例如,您可能有一个框架项目,其中一个目标用于构建动态.framework包,另一个目标用于构建静态库。或者,您的应用程序可能有一个用于构建应用程序本身的目标,以及一个用于构建需要安装的帮助程序命令行工具的目标
只要可能,我建议在最高级别更改设置(在项目设置中,同时更改调试和发布配置),并且仅在必要时自定义目标设置。更好的是,将尽可能多的设置移到xcconfig文件中,这似乎是一种更明确的方式来指定构建设置。前言:您可以发布目标。你的最终产品是目标。不是项目。将一个项目视为多个目标之上的保护伞 举一个更现实的例子,假设Uber和Lyft都是由your(伞形)公司开发的 公司有以下三个环境:
- 调试
- 质量保证
- 释放
- 架构-“”
- 生成选项“”
- 包装
- 设置每个配置所需的plist
- 更改捆绑标识(打包>>产品捆绑标识)。如果为字段切换值,则在plist中您将看到:
- 签字
- 代码签名标识
- 代码签名样式(手动或自动)
- 开发团队
- 配置配置文件
- 苹果叮当声-优化级别
<Multiple values>
基本上,您必须扩展该值,以查看为调试提供的值以及为发布或QA配置提供的值
如果所有的值都是相同的,那么您将只看到给定给它们的值。默认情况下,这些值是相同的
长话短说,这允许您在3个不同的环境(开发、质量保证、发布)中使用相同的代码(项目)拥有2个不同的应用程序(目标)。您可以使用配置创建不同的环境
要了解更多信息,我强烈建议您深入阅读更多信息,并了解什么是配置文件(xcconfig)。这比你想象的要简单得多。它主要是一个键值对: