相关疑难解决方法(0)

如何在具有不同配置名称的同一工作区中使用app和库编译项目?

我正在开发一个应用程序,我正在使用一个开源组件.

我有一个包含MyApp.xcodeprojComponent.xcodeproj的工作区.我的应用程序有三个配置:Debug,App StoreIn House,但该组件只有两个:DebugRelease

Debug配置中,一切正常,但我无法在App StoreIn House配置中编译我的应用程序,因为配置名称不匹配.尝试时,我收到文件未找到错误#import <Component/Component.h>

我需要App StoreIn House配置,我真的想避免修改组件的配置,以便于将来更新组件.

我知道我可以使用CocoaPods来解决这个问题,但我想知道Xcode中是否有一个简单的解决方案

xcode xcode-workspace

24
推荐指数
2
解决办法
6829
查看次数

具有多个项目的工作区中的 Xcode 构建配置

使用 Xcode 7.2 (7C68)、OS X 10.11.2 (15C50)

tl;dr对于同一 Xcode 工作区中的多个项目,为什么我的构建配置的用户定义构建设置似乎不起作用?我在方案中正确设置了它们,但是当在模拟器上运行时,这些值是正确的;在设备上运行时,值是错误的。

你好。我正在尝试利用 Xcode 构建配置(.xcconfig 文件)来根据环境自定义应用程序的行为。这样我们就可以根据方案的构建配置自动在集成 URL 和生产 URL 之间切换。然而,我在让它正常工作时遇到了一些困难;我认为我的工作空间布局可能是罪魁祸首。这是布局/结构:

  • Xcode 工作区
    • iOS 应用程序项目(2 个目标:应用程序、测试)
    • Cocoa Touch Framework 项目(2 个目标:框架、测试)

现在,我为每个项目都有以下 .xcconfig 文件:

  • Debug.xcconfig
  • Testing.xcconfig
  • Release.xcconfig

此外,还有以下方案(一对一映射到每个项目各自的配置):

  • 调试
  • 测试
  • 发布

对于框架,这些文件包含我们想要根据调试、测试或发布进行自定义的信息(例如 URL、API 令牌/密钥等)。现在,应用程序和框架都有自己的这些文件的副本。这是因为 Xcode 在处理依赖项或多个项目时,会在这种情况下隐式尝试使用同名的配置。我想部分问题是我不知道如何明确告诉 Xcode 对未设置配置的依赖项使用 X 配置。

换句话说,我如何告诉应用程序使用 X 配置和框架使用 Y 配置?

现在,当我在模拟器中运行该应用程序时,我知道该方案正在使用正确的 info.plist 值,因为 URL 和日志设置显示正确。但是,当我在device上存档或运行时,使用了错误的构建配置。我不知道为什么会发生这种情况。

屏幕截图和代码说明了它现在是如何工作的:

图1:信息表

图2:框架构建设置

图3(部分方法的部分主体):

if let infoDict = NSBundle(identifier: Constants.uniformTypeIdentifier)?.infoDictionary,
        let apiKey = …
Run Code Online (Sandbox Code Playgroud)

xcode buildconfiguration xcconfig xcode-workspace

5
推荐指数
1
解决办法
5454
查看次数