iphone – 条件编译和Objective-CXcode

iphone – 条件编译和Objective-CXcode,第1张

概述所以我正在研究一个学习项目,我正在尝试创建一个包含URL存储的头文件,这样您就可以只更改一个标志,从Debug更改为Production.这就是我试图用编译器做的事情,这显然是错误的.我找不到任何有关如何在Objective-C中执行此 *** 作的信息,这就是我来到这里的原因. #define DEBUG 1#if DEBUG NSString *URL = @"dev.myserver.com" 所以我正在研究一个学习项目,我正在尝试创建一个包含URL存储的头文件,这样您就可以只更改一个标志,从DeBUG更改为Production.这就是我试图用编译器做的事情,这显然是错误的.我找不到任何有关如何在Objective-C中执行此 *** 作的信息,这就是我来到这里的原因.

#define DEBUG 1#if DEBUG  Nsstring *URL = @"dev.myserver.com";#else  Nsstring *URL = @"myserver.com";#endif@interface GlobalURLRefrences : NSObject {  //Nsstring *URL; removed this}//@property (nonatomic,retain) Nsstring *URL; removed this@end

现在我不确定是否需要将其声明为属性.此外,一旦正确编译,如何从外部类访问它(当然在#import globalURL的类之后)任何关于正确方法的指导都将非常感激.

解决方法 Geoff:我需要在我的Mac App Store应用程序中使用这种条件来验证收据,我使用单独的构建配置和-D标志来实现.在DeBUG配置中,添加一个类似-DDEBUG_BUILD的编译器标志(注意开头的双D而没有空格.)然后使用

#ifdef DEBUG_BUILD    #define SERVER_URL_STRING @"http://dev.myserver.com"#else    #define SERVER_URL_STRING @"http://myserver.com"#endif

这样,您每次构建生产时都不必记住交换#define. (你最终会忘记的.每个人都有.) – 如果你这样做,那么你也不需要@property或ivar声明.-刚看到你已经把它们拿走了.

总结

以上是内存溢出为你收集整理的iphone – 条件编译和Objective-C/Xcode全部内容,希望文章能够帮你解决iphone – 条件编译和Objective-C/Xcode所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存