我正在开发一个应用程序,我正在使用一个开源组件.
我有一个包含MyApp.xcodeproj和Component.xcodeproj的工作区.我的应用程序有三个配置:Debug,App Store和In House,但该组件只有两个:Debug和Release
在Debug配置中,一切正常,但我无法在App Store或In House配置中编译我的应用程序,因为配置名称不匹配.尝试时,我收到文件未找到错误#import <Component/Component.h>
我需要App Store和In House配置,我真的想避免修改组件的配置,以便于将来更新组件.
我知道我可以使用CocoaPods来解决这个问题,但我想知道Xcode中是否有一个简单的解决方案
使用 Xcode 7.2 (7C68)、OS X 10.11.2 (15C50)
tl;dr对于同一 Xcode 工作区中的多个项目,为什么我的构建配置的用户定义构建设置似乎不起作用?我在方案中正确设置了它们,但是当在模拟器上运行时,这些值是正确的;在设备上运行时,值是错误的。
你好。我正在尝试利用 Xcode 构建配置(.xcconfig 文件)来根据环境自定义应用程序的行为。这样我们就可以根据方案的构建配置自动在集成 URL 和生产 URL 之间切换。然而,我在让它正常工作时遇到了一些困难;我认为我的工作空间布局可能是罪魁祸首。这是布局/结构:
现在,我为每个项目都有以下 .xcconfig 文件:
Debug.xcconfigTesting.xcconfigRelease.xcconfig此外,还有以下方案(一对一映射到每个项目各自的配置):
对于框架,这些文件包含我们想要根据调试、测试或发布进行自定义的信息(例如 URL、API 令牌/密钥等)。现在,应用程序和框架都有自己的这些文件的副本。这是因为 Xcode 在处理依赖项或多个项目时,会在这种情况下隐式尝试使用同名的配置。我想部分问题是我不知道如何明确告诉 Xcode 对未设置配置的依赖项使用 X 配置。
换句话说,我如何告诉应用程序使用 X 配置和框架使用 Y 配置?
现在,当我在模拟器中运行该应用程序时,我知道该方案正在使用正确的 info.plist 值,因为 URL 和日志设置显示正确。但是,当我在device上存档或运行时,使用了错误的构建配置。我不知道为什么会发生这种情况。
屏幕截图和代码说明了它现在是如何工作的:
图3(部分方法的部分主体):
if let infoDict = NSBundle(identifier: Constants.uniformTypeIdentifier)?.infoDictionary,
let apiKey = …Run Code Online (Sandbox Code Playgroud)