ซ่อนบันทึก Xcode ที่ไม่ต้องการ


696

เมื่อใช้ Xcode 8+ และสร้างโครงการเปล่าใหม่บันทึกต่อไปนี้จะปรากฏขึ้นเมื่อเรียกใช้แอปพลิเคชัน:

2016-06-13 16:33:34.406093 TestiOS10[8209:100611] bundleid: com.appc.TestiOS10, enable_level: 0, persist_level: 0, propagate_with_activity: 0
2016-06-13 16:33:34.406323 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.409564 TestiOS10[8209:100611] subsystem: com.apple.UIKit, category: HIDEvents, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.504117 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.548023 TestiOS10[8209:100607] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.568458 TestiOS10[8209:100608] subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0

อาจมีบางคนพบการกำหนดค่าสำหรับสิ่งนี้เพื่อจัดการ?


1
ดูเหมือนว่าจะเป็นเพียงการบันทึกข้อบกพร่องข้อมูลที่เหลือจากการพัฒนา กำลังตรวจสอบ ...
JAL

คุณปิดการใช้งานลิงเกอร์ลิงเกอร์แบบไดนามิกใน xcode หรือไม่?
Teja Nandamuri

ดูเหมือนจะไม่ทำงานสำหรับฉันใน Xcode 8 โซลูชันนี้ใช้ได้กับ Xcode 8 เบต้าเท่านั้น
Badal Shah

ฉันมีปัญหานี้กับ Xcode 8.2.1 ใน El Capitan การอัพเกรดเป็น macOS Sierra แก้ไขปัญหา
hwaxxer

ฉันยังคงเห็นปัญหาใน Xcode 9.3 ฉันได้ส่ง Apple Bug # 34767176 (Xcode 9 แสดงคำแถลงการพิมพ์ Debug Framework ของระบบ) ซึ่งซ้ำซ้อนกับ bug ที่เปิด # 32256894 โปรดส่งข้อผิดพลาดซ้ำไปยัง Apple: bugreport.apple.com/web
Paul Solt

คำตอบ:


1508

ลองสิ่งนี้:

1- จากเมนู Xcode เปิด: ผลิตภัณฑ์> โครงการ> แก้ไขโครงการ

2- ในชุดตัวแปรสภาพแวดล้อมของคุณOS_ACTIVITY_MODE=disable

ภาพหน้าจอ


25
มันยังใช้งานได้กับ Xcode 8.0 release ดังนั้นฉันแนะนำว่ามันเป็นทางออก
nadein

27
สำหรับใครที่สงสัยว่าจะไปที่หน้าจอนั้นได้อย่างไรคุณต้องไปที่ผลิตภัณฑ์> โครงการ> แก้ไขโครงการหรือ Cmd + <
chrishale

46
@iDevzilla มีปัญหาบางอย่างในการแก้ปัญหานี้จะลบสิ่งที่สำคัญบางอย่างออกจากบันทึกเมื่อใช้อุปกรณ์จริงเช่นข้อมูลที่บันทึกด้วยตนเอง โปรดดูภาพรวมอีกครั้งฉันไม่แน่ใจว่ามันเป็นทางออกที่ดีที่สุด
Itai Spector

104
แต่น่าเสียดายที่ตัวเลือกนี้หนังทั้งหมดNSLogs จากอุปกรณ์จริงสำหรับฉัน ...
Dmitry Isaev

8
ปัญหาขัดข้องในเครื่องมือจำลองเท่านั้น โดยส่วนตัวฉันไม่เชื่อว่าเป็นความคิดที่ดีที่จะเพิ่มตัวแปรสภาพแวดล้อมเพราะมันซ่อนบันทึกที่สำคัญเช่นปัญหาเกี่ยวกับ Layout Constraints และอื่น ๆ ตามตัวอย่างที่ @ AirXygèneมอบให้ ในเครื่องจำลองคุณสามารถกด "CMD + /" เพื่อเปิดคอนโซลมันจะให้บันทึกที่ล้าสมัย หวังว่า Apple จะแก้ไขปัญหานี้ใน Xcode แต่มีความสนใจเป็นอย่างมากในการดูจำนวน upvotes;)
Bocaxica

360

การสร้างทวีตดั้งเดิมจาก @rustyshelf และคำตอบที่แสดงจาก iDevzilla นี่คือโซลูชันที่ปิดเสียงจากตัวจำลองโดยไม่ต้องปิดใช้งานเอาต์พุต NSLog จากอุปกรณ์

  1. ภายใต้ผลิตภัณฑ์> โครงการ> แก้ไขโครงการ ... > เรียกใช้ (ดีบัก) ตั้งค่าตัวแปรสภาพแวดล้อม OS_ACTIVITY_MODE เป็น $ {DEBUG_ACTIVITY_MODE} ดังนั้นจึงมีลักษณะดังนี้:

ป้อนคำอธิบายรูปภาพที่นี่

  1. ไปที่การตั้งค่าการสร้างโครงการของคุณแล้วคลิก + เพื่อเพิ่มการตั้งค่าที่กำหนดโดยผู้ใช้ชื่อ DEBUG_ACTIVITY_MODE ขยายการตั้งค่านี้และคลิก + ถัดจาก Debug เพื่อเพิ่มค่าเฉพาะแพลตฟอร์ม เลือกเมนูแบบเลื่อนลงและเปลี่ยนเป็น "เครื่องมือจำลอง iOS ใดก็ได้" จากนั้นตั้งค่าเป็น "ปิดการใช้งาน" ดังนั้นจึงมีลักษณะดังนี้:

ป้อนคำอธิบายรูปภาพที่นี่


6
@NSNoob ตรวจสอบให้แน่ใจว่าคุณไม่มีช่องว่างในตัวแปร env
sbarow

7
น่าเสียดายที่นี่ไม่ใช่คำตอบที่ยอมรับและแย่ไปกว่าคำตอบนี้คือการสูญเสียคะแนนโหวต มาก IMHO คำตอบที่ดีเพราะมัน OS_ACTIVITY_MODE เฉพาะสำหรับคนพิการ DEBUG สร้างขึ้นบนจำลอง
Swany

18
สิ่งนี้ไม่ได้ผลสำหรับฉันและไม่มีคำตอบที่ได้รับคะแนนสูงสุด ใช้ Xcode 8.2.1 บน OS X 10.11.6 El Capitan แต่สิ่งที่ได้ผลคือการรวมกันของคำตอบนี้และคำตอบโดย BaseZen โดยใช้ OS_ACTIVITY_DT_MODE แทนที่จะเป็น OS_ACTIVITY_MODE (และโดยไม่คาดคิดสำหรับฉันอย่างน้อยทั้ง "ไม่" และ "ปิดการใช้งาน" ปิดการบันทึกอาละวาด)
RenniePet

1
@ RenenPet นั่นคือสิ่งที่ทำเพื่อฉัน ขอบคุณ!
Misha

8
การแก้ปัญหานี้จะซ่อนทั้งหมด NSLog เริ่มต้นกับ Xcode 9. เพื่อให้ NSLog แทนที่ด้วยdisable default
Cœur

88

OS_ACTIVITY_MODE ไม่ได้ทำงานสำหรับฉัน (มันอาจจะได้รับเพราะผม typo'd disableเป็นdisabledแต่ไม่ว่าจะเป็นธรรมชาติมากขึ้น?!?) หรืออย่างน้อยก็ไม่ได้ป้องกันการจัดการที่ดีของข้อความ นี่คือข้อตกลงที่แท้จริงเกี่ยวกับตัวแปรสภาพแวดล้อม

https://llvm.org/svn/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp

lldb_private::Error
PlatformDarwin::LaunchProcess(lldb_private::ProcessLaunchInfo &launch_info) {
  // Starting in Fall 2016 OSes, NSLog messages only get mirrored to stderr
  // if the OS_ACTIVITY_DT_MODE environment variable is set.  (It doesn't
  // require any specific value; rather, it just needs to exist).
  // We will set it here as long as the IDE_DISABLED_OS_ACTIVITY_DT_MODE flag
  // is not set.  Xcode makes use of IDE_DISABLED_OS_ACTIVITY_DT_MODE to tell
  // LLDB *not* to muck with the OS_ACTIVITY_DT_MODE flag when they
  // specifically want it unset.
  const char *disable_env_var = "IDE_DISABLED_OS_ACTIVITY_DT_MODE";
  auto &env_vars = launch_info.GetEnvironmentEntries();
  if (!env_vars.ContainsEnvironmentVariable(disable_env_var)) {
    // We want to make sure that OS_ACTIVITY_DT_MODE is set so that
    // we get os_log and NSLog messages mirrored to the target process
    // stderr.
    if (!env_vars.ContainsEnvironmentVariable("OS_ACTIVITY_DT_MODE"))
      env_vars.AppendArgument(llvm::StringRef("OS_ACTIVITY_DT_MODE=enable"));
  }

  // Let our parent class do the real launching.
  return PlatformPOSIX::LaunchProcess(launch_info);
}

ดังนั้นการตั้งค่าOS_ACTIVITY_DT_MODEเป็น "ไม่" ในตัวแปรสภาพแวดล้อม (วิธี GUI อธิบายไว้ในภาพหน้าจอ Schemes ในคำตอบหลัก) ทำให้มันใช้ได้สำหรับฉัน

เท่าที่NSLogเป็นพื้นดินการทุ่มตลาดสำหรับข้อความระบบข้อผิดพลาดและการแก้จุดบกพร่องของตัวเอง: วิธีการเข้าสู่ระบบที่แท้จริงอาจมีการเรียกร้องให้มีอยู่แล้วเช่นhttps://github.com/fpillet/NSLogger

หรือ

ดื่ม Kool-Aid ใหม่: http://asciiwwdc.com/2016/sessions/721 https://developer.apple.com/videos/play/wwdc2016/721/ มันไม่น่าแปลกใจที่มีบางอย่างผิดปกติหลังจากซ่อมบำรุงทั้งหมด API การบันทึก

ภาคผนวก

อย่างไรก็ตามNSLogมันเป็นเพียง shim:

https://developer.apple.com/library/content/releasenotes/Miscellaneous/RN-Foundation-OSX10.12/

NSLog / CFLog

NSLog ตอนนี้เป็นเพียง shim to os_log ในสถานการณ์ส่วนใหญ่

เพียงทำให้ตอนนี้อ้างแหล่งที่มาสำหรับตัวแปร env อื่น ๆ สถานที่ที่ค่อนข้างแตกต่างกันคราวนี้จาก internals ของ Apple ไม่แน่ใจว่าทำไมมันซ้อนทับกัน [ความคิดเห็นที่ไม่ถูกต้องเกี่ยวกับNSLogการนำออก]

[แก้ไข 22 ก.ย. ]: ฉันสงสัยว่า "ปล่อย" และ "สตรีม" ทำอะไรที่แตกต่างจาก "ดีบั๊ก" แหล่งที่มาไม่เพียงพอ

https://github.com/macosforge/libdispatch/blob/8e63547ea4e5abbfe55c0c3064181c4950a791d3/src/voucher.c

e = getenv("OS_ACTIVITY_MODE");
if (e) {
    if (strcmp(e, "release") == 0) {
        mode = voucher_activity_mode_release;
    } else if (strcmp(e, "debug") == 0) {
        mode = voucher_activity_mode_debug;
    } else if (strcmp(e, "stream") == 0) {
        mode = voucher_activity_mode_stream;
    } else if (strcmp(e, "disable") == 0) {
        mode = voucher_activity_mode_disable;
    }
}

11
ยินดีที่ได้เห็นคำตอบที่ให้เหตุผลและพื้นหลังมากกว่าเพียงแค่การแก้ไขด่วน
jscs

ทำตามคำตอบนี้โดยใช้ OS_ACTIVITY_DT_MODE = NO
Almas Adilbek

1
สิ่งนี้ทำให้เกิดพฤติกรรมที่แตกต่างจาก OS_ACTIVITY_MODE = ปิดการใช้งานหรือไม่ มีเหตุผลบางอย่างที่ต้องการโซลูชันนี้หรือไม่?
n8gray

1
มันไม่ใช่. มันซ่อนมันทั้งหมด
durazno

2
@Frizlab ใช่ฉันพูดถึงทั้งในโพสต์ของฉัน ดู "หรือ" ... ฉันอ้างถึงos_logอย่างไม่เป็นทางการว่าเป็น Kool Aid ใหม่
BaseZen

64

ทวีตมีคำตอบสำหรับฉัน - https://twitter.com/rustyshelf/status/775505191160328194

หากต้องการหยุดการจำลอง Xcode 8 iOS Simulator อย่างบ้าคลั่งให้ตั้งค่าตัวแปรสภาพแวดล้อม OS_ACTIVITY_MODE = ปิดใช้งานในรูปแบบการดีบักของคุณ

มันได้ผล


6
ตามที่ได้กล่าวไปแล้ว: OS_ACTIVITY_MODE = ปิดใช้งานจะปิดการใช้งานการบันทึกอื่น ๆ ทั้งหมดด้วย NSLog
dzensik

5
การแก้ปัญหานี้จะซ่อนทั้งหมด NSLog เริ่มต้นกับ Xcode 9. เพื่อให้ NSLog แทนที่ด้วยdisable default
Cœur

34

กรุณาค้นหาขั้นตอนด้านล่าง

  1. เลือกผลิตภัณฑ์ => โครงการ => แก้ไขโครงการหรือใช้ทางลัด: CMD + <
  2. เลือกRunตัวเลือกจากด้านซ้าย
  3. ในส่วนตัวแปรสภาพแวดล้อมให้เพิ่มตัวแปรOS_ACTIVITY_MODE = ปิดใช้งาน

สำหรับข้อมูลเพิ่มเติมโปรดหาตัวแทน GIF ด้านล่าง

แก้ไขแบบแผน


3
รอ .... ในการทำงานครั้งที่สองมันทำงานได้ รุ่งโรจน์สำหรับวิดีโอ Gif คำตอบที่ดีที่สุดอยู่ที่ด้านล่างเสมอ!
eonist

2
การแก้ปัญหานี้จะซ่อนทั้งหมด NSLog เริ่มต้นกับ Xcode 9. เพื่อให้ NSLog แทนที่ด้วยdisable default
Cœur

33

นี่ยังไม่ได้รับการแก้ไขใน Xcode เวอร์ชัน 8.0 เบต้า 2 (8S162m) สำหรับฉันและบันทึกเพิ่มเติมก็ปรากฏในคอนโซล Xcode ด้วย

** แก้ไข 8/1/16: นี้ได้รับการยอมรับในบันทึกประจำรุ่นสำหรับ Xcode 8 Beta 4 (8S188o) เป็นประเด็นที่ยังคงเรื้อรัง

ปัญหาที่พบใน Xcode 8 beta 4 - IDE

แก้จุดบกพร่อง

• Xcode Debug Console แสดงการบันทึกพิเศษจากเฟรมเวิร์กระบบเมื่อทำการดีบั๊กแอปพลิเคชันใน Simulator (27331147, 26652255)

สันนิษฐานว่าเรื่องนี้จะได้รับการแก้ไขโดยการปล่อยจีเอ็ม จนกว่าจะถึงตอนนั้นความอดทนและถึงแม้ว่าจะไม่เหมาะ แต่วิธีแก้ปัญหาที่ฉันใช้อยู่ด้านล่าง ...

คล้ายกับคำตอบก่อนหน้านี้ฉันต้อง:

  • คำนำหน้าบันทึกการพิมพ์ของฉันด้วยอักขระพิเศษบางชนิด (เช่น * หรือ ^ หรือ! ฯลฯ ฯลฯ )

  • จากนั้นใช้ช่องค้นหาที่ด้านล่างขวาของบานหน้าต่างคอนโซลเพื่อกรองบันทึกคอนโซลของฉันโดยป้อนอักขระพิเศษที่ฉันเลือกเพื่อรับคอนโซลเพื่อแสดงบันทึกการพิมพ์ของฉันตามที่ต้องการ

ปลอบใจ


1
@SimplyLearning คุณจะพบข้อมูลนี้ทั่ว Twitter แต่คุณอาจตรวจสอบเว็บไซต์อย่างเป็นทางการจาก apple: developer.apple.com/newsหรือ newsfeed เพื่อรับการปรับปรุงเมื่อพวกเขาเผยแพร่พวกเขา: developer.apple.com/news/rss/news.rssยังไงก็ตามยังดูเหมือนว่า เป็นปัญหาใน Xcode Beta 3
benrudhart

50
เพิ่งได้รับ Xcode 8 GM และปัญหายังคงมีอยู่ น่ารำคาญมาก !!
AdamM

8
เพิ่งดาวน์โหลด Xcode เวอร์ชั่น 8.0 (8A218a) จาก App Store ปัญหายังคงมีอยู่
Statik

4
ไร้สาระเพียง ยังคงอยู่ในรุ่น MAS ขั้นสุดท้าย
Shai Mishali

1
เราใช้คำนำหน้าแท็กสำหรับการกรอง ปัญหาบางอย่างคือ: หลายบรรทัดจะแสดงเพียงบรรทัดแรกเท่านั้น เมื่อใช้ lldb เพื่อแก้ไขข้อบกพร่องคุณต้องสลับการกรอง น่าเศร้าจริง ๆ ณ วันนี้คอนโซลมี จำกัด มาก เรามีแอพสำหรับการกรองที่ดี แต่เราต้องคัดลอก / วางจากคอนโซล ช่างน่าเศร้าเหลือเกิน
bauerMusic

23

วิธีแก้ปัญหาของฉันคือใช้คำสั่งดีบักเกอร์และ / หรือบันทึกข้อความในเบรกพอยต์

ป้อนคำอธิบายรูปภาพที่นี่

และเปลี่ยนเอาต์พุตของคอนโซลจากAll Outputเป็นDebugger Outputเช่น

ป้อนคำอธิบายรูปภาพที่นี่


14

Alright ดูเหมือนจะมีความปั่นป่วนมากมายเกี่ยวกับอันนี้ดังนั้นฉันจะให้ทุกวิธีที่จะคงอยู่โดยไม่ใช้เคล็ดลับแบบนั้น ฉันจะพูดถึง iOS Simulator โดยเฉพาะ แต่สิ่งนี้อาจต้องใช้กับ TV Sim ด้วยเช่นกันซึ่งอยู่ใน dir อื่น

ปัญหาที่ทำให้สิ่งเหล่านี้ทั้งหมดเป็น plists ที่อยู่ภายในไดเรกทอรี Xcode มีกระบวนการที่เรียกว่าconfigd_simเมื่อซิมเริ่มอ่าน plists ในและพิมพ์ข้อมูลการดีบักถ้า plists ระบุว่าควรบันทึกไว้

Plists อยู่ที่นี่:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Preferences/Logging/Subsystems

หากคุณกำลังเล่นกับเบต้าโปรดทราบว่า dir จะแตกต่างกัน

คุณจะเห็นรายการมากมายในไดเรกทอรีนี้ ตอนนี้สร้างและเรียกใช้แอปพลิเคชันของคุณและสังเกตบันทึก คุณกำลังมองหาเนื้อหาทันทีตามด้วยระบบย่อย:ส่วนหนึ่ง มันเป็นชื่อที่ตามหลังสิ่งนี้ซึ่งแสดงถึง Plist ที่เป็นปัญหาที่เกี่ยวข้อง

ป้อนคำอธิบายรูปภาพที่นี่

จากตรงนั้นให้ปรับเปลี่ยน plist เพื่อกำจัดคีย์ / ค่าการดีบัก [ระดับ] ซึ่งเป็นพจนานุกรมที่มี"Enable" => "Default"คีย์ / ค่า ... หรือเพียงแค่ลบเพลต โปรดทราบว่าคุณจะต้องรูทเพื่อทำสิ่งใดสิ่งหนึ่งเนื่องจากอยู่ในแอปพลิเคชัน Xcode

plutil -pคำสั่งอาจจะใช้กับคุณได้เป็นอย่างดี กล่าวคือ

plutil -p /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/System/Library/Preferences/Logging/Subsystems/com.apple.BackBoardServices.fence.plist

สิ่งนี้ทำให้ฉันมีปัญหาอย่างหนึ่งซึ่งมี:

{ "DEFAULT-OPTIONS" => { "Level" => { "Enable" => "Default" }}}

โชคดี :]


ฉันซิปแล้วถูกลบในกรณีที่ฉันต้องการคืนค่า
dandan78

1
ฉันพบว่านี่ไม่สามารถเงียบรหัสเครือข่ายได้มากอาจเป็นเพราะไม่มีชื่อระบบย่อย:2016-09-23 15:09:21.354686 ProductName[8823:191206][] tcp_connection_start 3 starting
BaseZen

@BaseZen แต่น่าเสียดายที่ฉันตอบคำถาม OP เท่านั้นซึ่งไม่มีปัญหาการบันทึก tcp คุณสามารถสร้างโพสต์ SO ใหม่หากคุณต้องการความช่วยเหลือในการแก้ไขปัญหานี้
Sozin Comet

13

สิ่งนี้เกี่ยวข้องกับปัญหาที่ทราบเมื่อพบการบันทึกในXcode 8 Beta Release Notes (ถามวิศวกรที่ WWDC ด้วย)

เมื่อทำการดีบั๊กแอพพลิเคชั่น WatchOS ในตัวจำลองนาฬิการะบบปฏิบัติการอาจสร้างการบันทึกที่ไม่ช่วยเหลือจำนวนมากเกินไป (26652255)

ขณะนี้ไม่มีวิธีแก้ไขคุณต้องรอ Xcode เวอร์ชันใหม่

แก้ไข 7/5/16: นี่คือการแก้ไขที่คาดว่าจะเป็นของ Xcode 8 Beta 2:

แก้ไขใน Xcode 8 beta 2 - IDE

แก้จุดบกพร่อง

  • เมื่อทำการดีบั๊กแอพใน Simulator จะสามารถมองเห็นบันทึกได้ (26457535)

บันทึกประจำรุ่น Xcode 8 Beta 2


คิดเช่นกัน แต่ฉันไม่ได้ใช้แอพพลิเคชั่น watchOS หรือโปรแกรมจำลอง watchOS แต่ก็ยังอาจเกิดขึ้นกับซิมอื่น ๆ ได้เช่นกัน หยุดการทำงานชั่วคราวและดูว่า Xcode 8 Beta บางตัวจะแก้ไขได้ในสัปดาห์ / เดือนถัดไป
ฮันส์Knöchel

@HansKnoechel ไม่ใช่ฉัน แต่ฉันสามารถยืนยันได้ว่าปัญหานี้เกิดขึ้นกับแอปพลิเคชันใด ๆ ไม่มีคำว่า "เป็นทางการ" จาก Apple นอกเหนือจากบันทึกย่อประจำรุ่นและการสนทนาบางอย่างที่ WWDC
JAL

ขอบคุณเหมือนกันที่นี่! เราควรพูดคุยเกี่ยวกับวันพรุ่งนี้ในช่วง WWDC ฮิฮิ :-)
Hans Knöchel

เกิดขึ้นกับ iPhone 5s Simulator ของฉันด้วยซึ่งอาจเป็นเครื่องจำลองทั้งหมด
SimplGy

ฉันไม่สามารถเข้าถึงลิงก์ในคำตอบนี้แม้จะลงชื่อเข้าใช้แล้ว แต่ลิงค์นี้ใช้ได้: adcdownload.apple.com/WWDC_2016/Xcode_8_beta/…
SimplGy

7

นี้จะไม่เป็นปัญหาใน Xcode 8.1 (ทดสอบเวอร์ชั่น 8.1 เบต้า (8T46g)) คุณสามารถลบOS_ACTIVITY_MODEตัวแปรสภาพแวดล้อมออกจากโครงร่างของคุณ

https://developer.apple.com/go/?id=xcode-8.1-beta-rn

แก้จุดบกพร่อง

• Xcode Debug Console ไม่แสดงการบันทึกเพิ่มเติมจากเฟรมเวิร์กระบบเมื่อทำการดีบักแอปพลิเคชันใน Simulator (26652255, 27331147)


20
ฉันยังคงได้รับการบันทึกการปลอมใน 8.1 ซ็อกเก็ตแปลก ๆ และการเชื่อมต่อ TCP ส่วนใหญ่ ใครอีกหรือแค่ฉัน
Jordan Smith

3
ฉันเพิ่งดาวน์โหลด Xcode 8.1 วันนี้ (31 ต.ค. 2559) และยังคงเห็นการบันทึกการดีบักแบบนี้[MC] Reading from private effective user settings.จากโครงการจำลองใหม่ที่ว่างเปล่าไฟล์> ใหม่> โครงการ
จาง

4

ในXcode 10OS_ACTIVITY_MODEกับตัวแปรdisable(หรือdefault) มูลค่ายังจะปิดNSLogไม่ว่าสิ่งที่

ดังนั้นถ้าคุณต้องการที่จะกำจัดของเสียงคอนโซล แต่ไม่บันทึกของคุณเองคุณอาจจะลองดีเก่าprintf("")แทน NSLog ตั้งแต่ยังไม่ได้รับผลกระทบจาก=OS_ACTIVITY_MODEdisable

แต่ควรตรวจสอบos_logAPI ใหม่ที่นี่ดีกว่า


1

วิธีแก้ปัญหานี้ได้ผลสำหรับฉัน:

  1. เรียกใช้แอพในเครื่องจำลอง
  2. เปิดบันทึกของระบบ ( + /)

สิ่งนี้จะถ่ายโอนข้อมูลการดีบักและ NSLogs ของคุณออกทั้งหมด

หากต้องการกรองเฉพาะคำสั่ง NSLog ของคุณ:

  1. นำหน้าด้วยสัญลักษณ์แต่ละตัวตัวอย่างเช่น: NSLog(@"^ Test Log")
  2. กรองผลลัพธ์โดยใช้ช่องค้นหาที่ด้านบนขวา "^" ในกรณีด้านบน

นี่คือสิ่งที่คุณควรได้รับ:

สกรีนช็อตของคอนโซล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.