Unity3D/Xcode: журналы отладки недоступны на устройстве, не отображаются в консоли

У меня довольно странная проблема, с которой я раньше не сталкивался в Unity - мне не удается получить мои вызовы Debug.Log() или мои вызовы NSLog() из Unity и Xcode для отображения на консоли при сборке приложения для мое устройство.

Вот что я пробовал до сих пор:

  1. Сборка в Xcode из Unity с включенными опциями разработки и отладки сценариев (пробовали использовать "Построить" и "Построить и запустить", без разницы).
  2. Из Xcode я попытался просто собрать, используя Product-> Run (CMD + R) с моим устройством, подключенным через USB. Я также пробовал Product-> архивировать и устанавливать файл .ipa вручную, но ни один из них не помог.
  3. Подключил устройство и попытался извлечь журналы из консоли Xcode по умолчанию, окна "Органайзер", выбрав "Консоль" под моим устройством и используя утилиту конфигурации iPhone.

Единственный вывод, который я получаю из своего приложения, - это строка в файле main.mm, сгенерированном Unity в проекте Xcode:

NSLog(@"-> registered mono modules %p\n", &constsection);

Я также не вижу других журналов и распечаток по умолчанию, которые есть в проекте по умолчанию, таких как следующая строка в UnityAppController.mm:

printf_console("-> applicationDidFinishLaunching()\n");

Странно то, что я видел все эти журналы и свои собственные в какой-то момент в самом начале проекта, но теперь я больше не вижу. Я попытался вернуться и вернуться к более ранней сборке, но я все еще не вижу никаких журналов. Я также пытался создать новый проект Xcode и встроить его на свое устройство, но безуспешно.

Какие вещи я могу упустить? Я просмотрел как можно больше других тем и попробовал несколько предложений, но пока не смог ничего найти. Есть ли какая-либо причина, по которой я получил бы первый журнал отладки от Unity о регистрации моно-модулей, но ни о каких других? Я не могу найти вескую причину, и это делает мою отладку на устройстве живой болью без них.

Для справки я использую Unity 4.5.1 и Xcode 5.1.1.

Ответ 1

Вы пытались подключиться к событию журнала сообщений Unity?

публичный текст 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.
}

если это тоже не сработает, то, возможно, это ошибка iOS