Xcode에서 앱을 테스트하지 않으면 iOS 시뮬레이터에서 어떤 일이 발생하는지 알고 싶습니다.
예를 들어 Safari 시뮬레이터에서 링크를 열면 콘솔에서 어떤 일이 발생하는지 확인하거나 웹 응용 프로그램을 설치하면 콘솔에서 누르는 링크를 확인하십시오.
어떻게해야합니까?
Xcode 또는 Terminal에서보고 싶지만 다른 비트의 소프트웨어를 사용해야하는 경우 문제가되지 않습니다.
답변
iOS 시뮬레이터> 메뉴 막대> 디버그> 시스템 로그 열기
옛날 방식 :
iOS 시뮬레이터는 로그를 stdout에 직접 인쇄하므로 시스템 로그와 로그가 혼합 된 것을 확인할 수 있습니다.
터미널을 열고 다음을 입력하십시오. tail -f /var/log/system.log
그런 다음 시뮬레이터를 실행하십시오.
편집하다:
Mavericks / Xcode 5에서 작동이 중지되었습니다. 이제 자체 폴더에서 시뮬레이터 로그에 액세스 할 수 있습니다. ~/Library/Logs/iOS Simulator/<sim-version>/system.log
Console.app을 사용하여 이것을 보거나 꼬리를 할 수 있습니다 (예 : iOS 7.0.3 64 비트).
tail -f ~/Library/Logs/iOS\ Simulator/7.0.3-64/system.log
편집 2 :
그들은 지금 ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
tail -f ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
답변
데스크탑 Safari를 통해 iOS 시뮬레이터의 콘솔을 볼 수 있습니다. 데스크탑 Safari를 사용하여 실제 iOS 장비의 콘솔을 보는 방법과 유사합니다.
시뮬레이터가 실행 중이고 웹 페이지가 열릴 때마다 데스크탑 사파리의 개발 메뉴 아래에 iOS 시뮬레이터 콘솔을 볼 수있는 옵션이 있습니다.
개발-> iPhone 시뮬레이터-> 사이트 이름
답변
답변
iOS 8 및 iOS 9
iOS 8 및 iOS 9에서이 위치는 다음과 같습니다.
~/Library/Logs/CoreSimulator/<DEVICE_CODE>
따라서 다음이 작동합니다.
tail -f ~/Library/Logs/CoreSimulator/<DEVICE_CODE>/system.log
이 DEVICE_CODE
값은 다음 콘솔 명령을 통해 찾을 수 있습니다.
instruments -s devices
답변
당신은 의지해서는 안됩니다 instruments -s
. 커맨드 라인에서 시뮬레이터 작업을 위해 공식적으로 지원되는 도구는 xcrun simctl
입니다.
장치의 로그 디렉토리는로 찾을 수 있습니다 xcrun simctl getenv booted SIMULATOR_LOG_ROOT
. 위치가 변경 되더라도 항상 정확합니다.
이제 상황이 os_log
바뀌면서 호스트 Mac에서 Console.app를 여는 것이 더 쉬워졌습니다. 부팅 된 시뮬레이터는 실제 장치와 마찬가지로 왼쪽에 로그 소스로 표시되어야합니다. 부팅 된 시뮬레이터에서 로그 명령을 실행할 수도 있습니다.
# os_log equivalent of tail -f
xcrun simctl spawn booted log stream --level=debug
# filter log output
xcrun simctl spawn booted log stream --predicate 'processImagePath endswith "myapp"'
xcrun simctl spawn booted log stream --predicate 'eventMessage contains "error" and messageType == info'
# a log dump that Console.app can open
xcrun simctl spawn booted log collect
# open location where log collect will write the dump
cd `xcrun simctl getenv booted SIMULATOR_SHARED_RESOURCES_DIRECTORY`
시뮬레이터의 웹 페이지에서 Safari 개발자 도구 (JS 콘솔 포함)를 사용하려면 시뮬레이터 중 하나를 시작하고 Safari를 연 다음 Mac에서 Safari로 이동하면 메뉴에 시뮬레이터가 표시됩니다.
Safari 주소 표시 줄에서 URL을 드래그하여 시뮬레이터 창에 놓아 시뮬레이터에서 URL을 열 수 있습니다. 을 사용할 수도 있습니다 xcrun simctl openurl booted <url>
.
답변
당신이 사용하는 경우 스위프트 , 그 기억 println
만 (엑스 코드의 디버그 영역에 나타납니다) 디버그 로그에 인쇄됩니다. system.log에 인쇄하려면 예전과 NSLog
같이 사용해야 합니다.
그런 다음 메뉴, 디버그> 시스템 로그 열기 … (cmd + /)를 통해 시뮬레이터 로그를 볼 수 있습니다.
답변
광미 /var/log/system.log
가 나를 위해 작동하지 않았다. 를 사용하여 로그를 찾았습니다 Console.app
. 그들은 있었다
~/Library/Logs/iOS Simulator/{version}/system.log