Unity3D/XCode:调试日志在设备上不可用,无法在控制台中看到

Ret*_*ion 15 xcode unity-game-engine ios xcode5.1

我在Unity之前遇到过一个非常奇怪的问题 - 当我将应用程序构建到我的设备时Debug.Log(),我无法接听我的电话,或者我NSLog()从Unity和XCode调用显示到控制台.

这是我到目前为止所尝试的内容:

  1. 在Unity中使用开发构建和脚本调试选项构建到XCode(尝试使用'Build'和'Build and Run',没有区别).
  2. 从XCode开始,我尝试使用Product-> Run(CMD + R)进行构建,我的设备通过USB插入.我也尝试过Product-> Archive并手动安装.ipa文件,但都没有.
  3. 插入设备并尝试通过在我的设备下选择"控制台"并使用iPhone配置实用程序从XCode的默认控制台,管理器窗口中检索日志.

我从我的应用程序获得的唯一输出是Unity在Xcode项目中生成的main.mm文件中的这一行:

NSLog(@"-> registered mono modules %p\n", &constsection);
Run Code Online (Sandbox Code Playgroud)

我没有看到默认情况下项目中的其他默认日志和打印,例如以下行.ipa:

printf_console("-> applicationDidFinishLaunching()\n");
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我在项目的早期就已经看到了所有这些日志和我自己的日志,但现在我不再这样做了.我已经尝试退回并恢复到早期版本,但我仍然没有看到任何日志.我也尝试构建一个新的XCode项目并将其构建到我的设备上,但也没有运气.

我可能会遗漏哪些东西?我已经查看了尽可能多的其他主题并尝试了几个建议,但到目前为止还没有找到任何建议.有没有理由我会从Unity收到关于注册单声道模块的第一个调试日志,但没有其他的?我找不到一个很好的理由,它使我在设备上的调试没有它们的生活痛苦.

作为参考,我使用的是Unity 4.5.1和XCode 5.1.1.

谢谢

小智 1

您是否尝试过附加到Unity日志消息事件?

public Text logText; //someRandomUnityUITextThatIsShownOnScreen 

void Start(){
Application.logMessageReceived += HandleLog;        //can disable logging with Application.logMessageReceived -= HandleLog; 
}

void HandleLog(string logString, string stackTrace, LogType type)
{
  logText.text += "\n | " + logString; 
//of course you can use the logstring and stacktrace to do whatever you want, write into a debug txt file or smth.
}
Run Code Online (Sandbox Code Playgroud)

如果这也不起作用,那么iOS现在可能是一个错误