gab*_*m10 2 iphone xcode objective-c ipad
所以我正在研究一个学习项目,我正在尝试创建一个包含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
Run Code Online (Sandbox Code Playgroud)
现在我不确定是否需要将其声明为属性.此外,一旦正确编译,如何从外部类访问它(当然在你#import的globalURL类之后)任何关于正确方法的指导将非常感激.
jxp*_*777 11
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
Run Code Online (Sandbox Code Playgroud)
这样,您不必记住#define每次为生产构建时都交换它.(你最终会忘记的.每个人都有.) - 如果你这样做,那么你也不需要@property或ivar声明.-刚刚看到你已经把它们拿走了.
| 归档时间: |
|
| 查看次数: |
3475 次 |
| 最近记录: |