programing

iOS Simulator에서 콘솔 로그를 가져오려면 어떻게 해야 합니까?

magicmemo 2023. 4. 16. 14:52
반응형

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 로그

[iOS 로거]

.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 logXcode 11 에 x x x x 。

, 「이러다」, 「이러다음에, 「이러한 로그」를 .xx.logTerminal.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_MODEISNOT 디세이블

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

반응형