是的,我知道子类化UIWindow是不受欢迎的,但我的子类UIWindow仅用于调试目的(一旦检测到特定的运动事件,它会截取当前页面的截图)。
无论如何,我在项目的 Build Settings 中创建了一个名为DEBUG
的自定义预编译器标志,但是我在加载/运行正常时遇到了问题。现在,它没有截取屏幕截图,但它正在记录运动事件的发生。
以下是我在AppDelegate的didFinishLaunchingWithOptions:
#if DEBUG
DebugWindow *debugWindow = [[DebugWindow alloc] init];
self.window = debugWindow; //'window' is declared in the AppDelegate's @interface file and synthesized as window=_window in the @implementation file
#else
self.window = _window;
#endif
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
答案 0 :(得分:0)
以下是如何使用调试标志
#if DEBUG == 1
#define CMLog(format, ...) NSLog(@"%s:%@", __PRETTY_FUNCTION__,[NSString stringWithFormat:format, ## __VA_ARGS__]);
#define MARK CMLog(@"%s", __PRETTY_FUNCTION__);
#define START_TIMER NSTimeInterval start = [NSDate timeIntervalSinceReferenceDate];
#define END_TIMER(msg) NSTimeInterval stop = [NSDate timeIntervalSinceReferenceDate]; CMLog([NSString stringWithFormat:@"%@ Time = %f", msg, stop-start]);
#else
#define CMLog(format, ...)
#define MARK
#define START_TIMER
#define END_TIMER(msg)
#endif
这是截图
同样在发布设置中,将标志置为0 像这样-DDEBUG = 0
这样你就可以实现你想要达到的目标。让我知道它是否有帮助。