Для анализа логов ошибок и крушений стороннего приложения на iOS, особенно если вы имеете rootless доступ, вы можете попробовать несколько подходов:
1. **Системные логи с помощью Console**:
Если у вас есть возможность подключить устройство к Mac, откройте приложение **Console** (Консоль) на нем. Подключите устройство и выберите его в боковом меню. Вы сможете видеть системные логи, включая сообщения от приложений, их стэк-трейсы и потенциальные сообщения об ошибках. Убедитесь, что вы фильтруете логи по вашему приложению.
2. **Логи Crashes через Xcode**:
Если у вас есть проект этого приложения и вы его компилируете, вы можете использовать Xcode для сбора символизированных логов о крашах. Убедитесь, что у вас включен сбор дистрибутивных символов (DSYM). Когда приложение крашится, вы сможете получить информацию о дорожной карте через **Xcode Organizer** (Organizer > Crashes).
3. **Использование `log` команды**:
С помощью терминала вы можете использовать команду `log` для доступа к системным логам. Введите следующее для просмотра сообщений в реальном времени:
```bash
log stream --level debug --predicate 'eventMessage contains "YOUR_APP_IDENTIFIER"'
```
Замените `YOUR_APP_IDENTIFIER` на идентификатор вашего приложения.
4. **Инструмент Forensic Analysis**:
Инструменты, подобные `libimobiledevice`, могут помочь в извлечении информации о crash log. Если приложение генерирует лог ошибок, он может храниться в пути:
```
/private/var/mobile/Library/Logs/CrashReporter/MobileDevice/YOUR_APP_NAME/
```
Обратите внимание, что для rootless устройств доступ может быть ограничен.
5. **Установка `debugserver` и использование LLDB**:
Если вы хотите отлаживать приложение до его краха, запустите приложение через `debugserver`. Для этого выполните на терминале:
```bash
debugserver *:1234 -a YOUR_APP_NAME
```
Затем в другом терминале подключитесь с помощью LLDB:
```bash
lldb
platform select ios
process connect connect://127.0.0.1:1234
run
```
Это позволит вам захватить информацию о прошлом состоянии приложения, а также поймать его в момент краха.
6. **Получение информации о dyld**:
Вы можете проверить логи о dyld, добавив специальные флаги при запуске вашего приложения. Используя `DYLD_PRINT_LIBRARIES`, можно получить список загружаемых библиотек. Эти флаги необходимо задать, когда вы запускаете приложение. Вы можете попробовать сконструировать команду для выполнения с необходимыми параметрами:
```bash
DYLD_PRINT_LIBRARIES=1 YOUR_APP_EXECUTABLE
```
В случае, если ни один из вышеперечисленных методов не предоставляет нужной информации, вы можете рассмотреть возможность использования профилирования или инструментов анализа производительности, таких как Instruments, если у вас есть возможность работать с Xcode.