我正在使用Gamemaker Studio 2,并创建了一个扩展程序以读取解释器生成的错误。在Android中,它们已登录到logcat,我能够解析它们。我正在尝试在iOS中做同样的事情,但是Gamemaker似乎没有按照我的预期写入设备日志。我可以通过使用以下命令将设备重定向到文件来获取设备日志:
freopen([pathForLog cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
使用NSLog记录的内容正在显示,我可以阅读。尽管我可以在Xcode控制台中看到它们,但Gamemaker异常并未出现:
2018-07-16 13:57:39.760274-0400 MyGame[34572:12880605] TIC Read Status [6:0x0]: 1:57
2018-07-16 13:57:39.760313-0400 MyGame[34572:12880605] TIC Read Status [6:0x0]: 1:57
2018-07-16 13:57:40.284416-0400 MyGame[34572:12880192] *** objDebugger created!
2018-07-16 13:57:43.301102-0400 MyGame[34572:12880192] GameMaker:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Alarm Event for alarm 0
for object objHowToPlayButton:
控制台中还有其他未在重定向的stderr中显示的内容。我猜这是一个权限问题,在我的重定向可以读取之后,应用记录的某些内容可以读取,但是其他内容(也许在其他链接库中)无法访问?
任何人对这里可能发生的事情有任何指示?我是Xcode和Objective C的新手,所以请保持谦虚! :-)
谢谢!
答案 0 :(得分:0)
有时只需要写出来即可。我意识到,似乎只有控制台输出的开始出现在重定向的文件中。应用程序启动后,我不得不再次重定向,然后它正在访问设备日志的其余部分(该日志是从我的应用程序编写的)。似乎其他一些代码取消了重定向。