在 Xcode 构建过程中更改应用程序设置

发布于 2024-11-08 19:29:16 字数 262 浏览 0 评论 0原文

我有配置文件(如 plist),其中包含应用程序用于连接到 Web 服务的信息。出于显而易见的原因(不同的 URL),我为每个部署域(DEV、生产)都有一个文件。所以我的项目中的每个域都有 plist,例如 1.myConfig.dev.plist 2. myconfig.prod.plist

我有多个目标 - 一个对应于我正在构建的每个域。在目标中,我有将文件重命名为 myConfig.plist 的脚本。所有这些工作正常。然而我想知道是否有一种更简单的方法来做到这一点而不是有多个目标。

I have config files (as plist) that contain information used by the app to connect to web services. I have a file for each of our deployment domains (DEV, PRODUCTION) for obvious reasons(different URLs). So I have plist for each domain in my project e.g
1. myConfig.dev.plist
2. myconfig.prod.plist

I have multiple targets - one for each domain that I am building for. In the target I have scripts that rename the file to myConfig.plist. All these work fine. However I was wondering if there was an easier way to do this instead of having multiple targets.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

输什么也不输骨气 2024-11-15 19:29:16

您可以使用 XCode 4 的新构建方案并拥有自定义环境变量。

NSDictionary *environment = [[NSProcessInfo processInfo] environment];
NSObject *isDevEnvironment = nil; // set to nil to avoid garbage memory
isDevEnvironment = [environment objectForKey:@"isDevEnvironment"];

if(isDevEnvironment) {
  // Do stuff
} else {
  // Do other stuff
}

You can use XCode 4's new build schemes and have custom environment variables.

NSDictionary *environment = [[NSProcessInfo processInfo] environment];
NSObject *isDevEnvironment = nil; // set to nil to avoid garbage memory
isDevEnvironment = [environment objectForKey:@"isDevEnvironment"];

if(isDevEnvironment) {
  // Do stuff
} else {
  // Do other stuff
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文