iOS Simulator에서 콘솔 로그를 가져오려면 어떻게 해야 합니까?
앱을 Xcode로 테스트하지 않으면 iOS Simulator에서 어떤 일이 일어나는지 보고 싶습니다.
예를 들어 Safari 시뮬레이터에서 링크를 열면 콘솔에서 무슨 일이 일어나는지, 웹 앱을 설치하면 콘솔에서 누르고 있는 링크를 볼 수 있습니다.
이거 어떻게 해?
Xcode나 Terminal로 보고 싶은데 다른 소프트웨어를 사용해야 해도 문제 없습니다.
iOS 시뮬레이터 > 메뉴바 > 디버깅 > 시스템 로그 열기
구식:
iOS Simulator는 로그를 stdout에 직접 인쇄하여 로그와 시스템 로그가 뒤섞인 것을 확인할 수 있습니다.
을 열고 과 같이 입력합니다.tail -f /var/log/system.log
그럼 시뮬레이터를 실행해봐
편집:
Mavericks / Xcode 5 。.「 」 「 」 「 」 「 」 「 」 「 」 。~/Library/Logs/iOS Simulator/<sim-version>/system.log
Console.app을 사용하여 이를 확인하거나 tail(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 Simulator용 콘솔을 볼 수 있습니다.이는 데스크톱 Safari를 사용하여 물리적 iOS 디바이스의 콘솔을 보는 방법과 유사합니다.
시뮬레이터가 실행 중이고 웹 페이지가 열릴 때마다 데스크톱 사파리의 개발 메뉴 아래에 iOS 시뮬레이터 콘솔을 볼 수 있는 옵션이 있습니다.
-> iPhone Simulator -> 사이트명 개발
에서 '열리다'를 console
Debug > Open System Log
'어느 정도'를 쓰거나요.
keyboard shortcut: ⌘/
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
되는 도구는 령령 . . . for for for for for for for for for for for for for 。xcrun simctl
.
는, URL 의 「」로 확인할 수 .xcrun simctl getenv booted SIMULATOR_LOG_ROOT
합니다. 이것은 위치가 변경되어도 항상 정확합니다.
왕왕 to to로 os_log
「Mac」Console.app」을 참조해 주세요.부트 시뮬레이터는 물리 디바이스와 마찬가지로 좌측에 로그 소스로 표시됩니다.부트 시뮬레이터에서 log 명령을 실행할 수도 있습니다.
# 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 Developer 도구(JS 콘솔 포함)를 Simulator: 시뮬레이터 중 하나를 시작하고 Safari를 열고 Mac에서 Safari로 이동하면 메뉴에 Simulator가 표시됩니다.
시뮬레이터에서 URL을 열려면 Safari 주소 표시줄에서 끌어 시뮬레이터 창에 놓습니다. 이 경우에도 하실 수 있습니다.xcrun simctl openurl booted <url>
.
Apple 로그
.Console
Devices을 사용하여 전송된 를 표시하려면 에서 어플리케이션(select your devices in Devices), Mac을 사용합니다.NSLog
,os_log
,Logger
는 (는 표시되지 않습니다.print
★★★★★★★★★★★★★★★★★★」
또한 체크해주세요(액션 -> <Info/Debug> 메시지 포함)
가 보고 .WebView
)UIWebView
★★★★★★★★★★★★★★★★★」WKWebView
를합니다.Safary -> Develop -> device
Swift 를 사용하고 있는 경우는, 주의해 주세요.println
는 디버깅 로그에만 인쇄됩니다(xCode의 디버깅 영역에 표시됩니다).하려면 system을 사용해야 .log(로그)NSLog
옛날처럼
그런 다음 시뮬레이터 로그 메뉴를 사용하여 [Debug]> [ Open System Log ... ]를 표시할 수 있습니다.(표준 + /)
" "/var/log/system.log
일지를 찾았습니다.Console.app
은 안에 있었다
~/Library/Logs/iOS Simulator/{version}/system.log
XCode > 6.0 AND iOS > 8.0 XCode 버전이 8.0인 경우 다음 스크립트가 작동합니다.
아래 작은 스크립트를 사용하여 시뮬레이터 로그를 시스템 콘솔에 저장합니다.
#!/bin/sh
sim_dir=`xcrun instruments -s | grep "iPhone 6 (8.2 Simulator)" | awk {'print $NF'} | tr -d '[]'`
tail -f ~/Library/Logs/CoreSimulator/$sim_dir/system.log
Grep에서 사용되는 시뮬레이터 유형을 인수로 전달할 수 있습니다.위의 게시물에서 언급한 바와 같이 Xcode 버전에 따라 사용 가능한 시뮬레이터의 유형을 볼 수 있는 simctl 및 instruments 명령어가 있습니다.사용 가능한 디바이스/시뮬레이터 목록을 표시하려면
xcrun instruments -s
또는
xcrun simctl list
이제 디바이스 코드 또는 시뮬레이터 유형을 스크립트에 인수로 전달하고 grep 내의 "iPhone 6 (8.2 Simulator)"를 $1로 바꿀 수 있습니다.
Safari Technology Preview 앱을 사용하면 Safari Web Inspector와 모든 웹 개발 도구를 포함한 시뮬레이터 콘솔 창을 볼 수 있습니다.시뮬레이터의 Safari에서 페이지를 열고 Safari Technology Preview > Develope > Simulator로 이동합니다.
X코드:보기 -> 디버깅 영역 -> 콘솔 활성화
시뮬레이터에서 열 수 : iOS :뮬이 i i i i i i i i i i i i i i i i i 。Debug -> Open System Log...
이 기능이 도입된 시기를 알 수 없기 때문에 이전 버전에서는 사용할 수 없을 수 있습니다.
.NSLog
★★★★★★★★★★★★★★★★★」print
는 ""에 .system.log
Select(선택)로 열 수Simulator -> Debug -> Open System log
Xcode 11 에 x x x x 。
, 「이러다」, 「이러다음에, 「이러한 로그」를 .xx.log
Terminal.app
는 에 Terminal.app
생기발랄한
나는 코코아 럼버잭을 사용해 이것을 달성한다.
순서 1:
더하다DDFileLogger
DDOSLogger
및 로그 경로를 인쇄합니다. config()
앱 점심시간에는 전화해야 합니다.
static func config() {
#if DEBUG
DDLog.add(DDOSLogger.sharedInstance) // Uses os_log
let fileLogger: DDFileLogger = DDFileLogger() // File Logger
fileLogger.rollingFrequency = 60 * 60 * 24 // 24 hours
fileLogger.logFileManager.maximumNumberOfLogFiles = 7
DDLog.add(fileLogger)
DDLogInfo("DEBUG LOG PATH: " + (fileLogger.currentLogFileInfo?.filePath ?? ""))
#endif
}
순서 2:
교체하다print
또는NSLog
와 함께DDLogXXX
.
순서 3:
$ tail -f {path of log}
여기서 Terminal.app에 메시지가 나타납니다.
한 가지 더요.메시지 로그아웃이 없는 경우
Environment Variables
->OS_ACTIVITY_MODE
ISNOT 디세이블
Safari 테크놀로지 리뷰를 다운로드합니다.시뮬레이터를 실행하고 [develope]> [ simulator ]> [ localhost ]를
콘솔 로그를 표시하는 가장 쉬운 방법은consolelogs
파라미터로서:
ionic cordova run ios -l --consolelogs
터미널에서 콘솔 로그를 볼 수 있습니다.
언급URL : https://stackoverflow.com/questions/10165641/how-can-i-get-the-console-logs-from-the-ios-simulator
'programing' 카테고리의 다른 글
TextBlock에서 텍스트 (0) | 2023.04.21 |
---|---|
PowerShell의 코드를 어떻게 코멘트합니까? (0) | 2023.04.16 |
SQL에서 VARCHAR이 아닌 CHAR을 선택하는 사용 사례는 무엇입니까? (0) | 2023.04.16 |
Dispatch Queue.main.async와 Dispatch Queue.main.sync의 차이점 (0) | 2023.04.16 |
저장 프로시저란 무엇입니까? (0) | 2023.04.16 |