回答
您设置的值,在“预处理宏”构建设置。在构建设置中设置“SOME_VARIABLE = $ {USER}”相当于代码中的#define SOME_VARIABLE“jappleseed”。
然后在你的代码,你可以这样做:
#define jappleseed 1
#define sjobs 2
#if DEV_USER == jappleseed
NSLog(@"Hi Jhonny");
#elif DEV_USER == sjobs
NSLog(@"Hi Steve");
#endif
注:这是一个人为的例子,如果你真的想要字符串“jappleseed”在你的代码中使用,你应该使用一个Info.plist和不是#定义
我试过了,但我没有得到Build Settings中设置的值,只是定义的名称。我发现环境值在Xcode项目设置窗格中展开为期望值,但是当我尝试打印出定义值时,我看到了变量的名称,而不是值。 – 2013-05-04 01:15:19
我更新了包含代码端的答案。 – GayleDDS 2013-05-04 01:50:24
在Xcode中6(至少),你可以包括你的用户名作为名在预处理宏宏的的一部分构建设置的部分:
ENV_USER_$(USER)=1
(这将定义宏ENV_USER_myusername
)
然后,在你的代码,你可以使用
#if ENV_USER_myusername
...
#endif
定义中的=1
可能是多余的,因为Xcode中似乎将变量定义为true
默认。我们把它放在那里只是为了安全起见,并能够使用#if
或#ifdef
。这种方式存在,它可能被定义为没有问题,但要评估false
,在这种情况下仍然#ifdef
会的工作,但#if
不会。当然,您可以将其定义为您希望的任何值,具体取决于您想要的值。
:添加到“活动编辑条件”
没有办法分配一个值
- 1. 为Xcode设置SVN
- 2. 为xcode调试设置qt
- 3. 将构建设置重置为XCode中的默认设置?
- 4. 如何为Retina设置Xcode项目?
- 5. Xcode设置为git存储库挂起
- 6. 如何为XCode 5做SVN设置?
- 7. Xcode 4.3为按钮设置属性
- 8. 为XCode项目设置存储库
- 9. ObjectiveFlickr设置Xcode 4
- 10. 设置Xcode功能
- 11. 的Xcode构建设置
- 12. 在Xcode 3.1设置的gcov
- 13. XCODE:获取设置的值
- 14. 如何将设备上的图像设置为Xcode中的UIImageView?
- 15. Xcode:项目设置与目标设置
- 16. 设置Xcode构建设置终端
- 17. Xcode 4.3.2编译器设置崩溃xcode
- 18. 在xcode 4中为iOS5设置openGL ES 1.1作为默认设置
- 19. OpenCV设置与Xcode 6.3.2
- 20. 设置Xcode plist属性
- 21. 设置Xcode以使用SDL?
- 22. xCode Tableview设置范围
- 23. 在Xcode 4中设置malloc_error_break
- 24. 设置应用程序Xcode
- 25. 在xcode中设置宏
- 26. Xcode如何设置EXPANDED_CODE_SIGN_IDENTITY?
- 27. 用Xcode 4设置SFML 1.6
- 28. XCODE AppelScript ObjC:设置变量
- 29. xcode构建设置组
- 30. iphone xcode设置问题
你能使用一个Info.plist代替的#ifdef DEBUG _ $(USER)?你真的需要不同的构建吗?如果是的话你可以使用不同的构建配置?会有多少个不同的SOME_VARIABLE。 – GayleDDS 2013-05-03 02:30:41
我试图做类似这样的帖子的内容:http://stackoverflow.com/questions/9088380/xcode-preprocessor-dependent-on-environment-variable,但我没有看到在代码中宏的值。 – 2013-05-03 15:57:38
但是你在做一个条件编译还是只需要你的代码中的值。我使用构建脚本在Info.plist中设置版本号minor和major以及git hash,然后阅读代码中的Info.plist以获取值并显示它们。看到我的答案第二到最后在后:http://stackoverflow.com/questions/3730186/how-do-i-force-xcode-to-rebuild-the-info-plist-file-in-my-project-every -time-ib/16332406#16332406 – GayleDDS 2013-05-04 00:03:13