มีวิธีที่เร็วกว่า / ดีกว่าในการล้างแคชของ iPhone Simulator มากกว่าการลบไดเรกทอรีหรือไม่?


95

ดังนั้นฉันจึงยังใหม่อยู่พอสมควรสำหรับการพัฒนา iOS และฉันพบว่าตัวเองค่อนข้างจำเป็นต้องลบ DerivedData หรือเนื้อหาในไดเร็กทอรี iPhone Simulator เป็นประจำเพื่อให้สามารถเรียกใช้งานรหัสของฉันได้จริง Clean ใน Xcode ไม่ได้ทำเหมือนกับการล้างไดเรกทอรีเหล่านั้นใช่ไหม และถ้าไม่มีวิธีที่ง่ายกว่าการดึง Finder ไปรอบ ๆ เพื่อเข้าถึงพวกเขาและล้างข้อมูลเหล่านี้หรือไม่


3 ปีที่แล้วอาจจะไม่ใช่ตัวเลือก แต่ตรวจสอบคำตอบของฉันมันเหมาะกับฉัน!
Adrian Florescu

คำตอบ:


126

66:99 และปีนเขา:

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

ออกจาก iPhone Simulator จากนั้นเรียกใช้xcrunใน Terminal:

xcrun simctl erase all

ปลอดภัยและมีประสิทธิภาพ

ดูhttps://stackoverflow.com/a/26394597/218152สำหรับอุปกรณ์เดียว

xcrun simctl ลบ [รหัสอุปกรณ์]


สิ่งนี้จะลบตัวจำลองตัวเองหรือไม่? ดังนั้นฉันจึงต้องเพิ่มอีกครั้งในหน้าจออุปกรณ์ของ Xcode ในภายหลัง?
ลุค

1
เพียงแค่เนื้อหา จากเอกสาร ( xcrun simctl help) ลบ : ลบเนื้อหาและการตั้งค่าของอุปกรณ์ เพื่อไม่ให้สับสนกับการลบ : ลบอุปกรณ์หรืออุปกรณ์ที่ไม่พร้อมใช้งานทั้งหมด
SwiftArchitect

น่ากลัว อยากให้เปลี่ยนคำตอบที่ถูกต้องของฉันในแง่นี้ :)
ลุค

@lukech: ชื่นชมมาก ฉันพบวิธีแก้ปัญหานี้ในขณะที่พยายามบันทึกหน่วยความจำบน HD และกำลังมองหาclean build folderแนวทาง และอุปกรณ์สำหรับคุณเพื่อให้คำถามนี้ใช้งานได้
SwiftArchitect

คำสั่งนี้ใช้เวลาตลอดไปในการรันวิธีการเลือกซิมเป้าหมายด้วย uuid
the_prole

105

ในเมนูiOS Simulatorมีตัวเลือกที่เรียกว่ารีเซ็ตเนื้อหาและการตั้งค่า ...

นี้ควรทำเคล็ดลับ

แก้ไข:

เพื่อให้สิ่งนี้เร็วและง่ายขึ้นฉันได้เพิ่มคีย์ลัดเช่นนี้ ...

ใน System Preferences ให้เลือกKeyboard

การตั้งค่าระบบคีย์บอร์ด

จากนั้นเลือกแท็บทางลัด แล้วคลิกทางลัดแอพ

ทางลัดของแอพ คลิกปุ่มบวกเพื่อเพิ่มทางลัดอื่น

ป้อนคำอธิบายภาพที่นี่ สุดท้าย:

  1. คลิก theChoose SimulatorจากเมนูApplication: drop-down หากไม่มีให้เลื่อนไปที่ด้านล่างสุดของรายการแอปพลิเคชันแล้วเลือก "อื่น ๆ ... " จากนั้นพิมพ์ "simulator" ในการค้นหาและเพิ่ม Simulator จากที่นั่น
  2. พิมพ์Erase All Content and Settings ...ในชื่อเมนู: text-box
  3. พิมพ์คีย์ลัดที่คุณต้องการลงไปในแป้นพิมพ์ลัด: (ฉันใช้ command-period)
  4. คลิกปุ่มเพิ่ม

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

ขณะนี้ใน iOS Simulator คุณสามารถใช้คีย์ลัดใหม่เพื่อรีเซ็ตได้


หากโปรแกรมจำลองไม่ปรากฏในรายการแบบเลื่อนลง:

  1. ในหน้าต่าง Finder ไปที่โฟลเดอร์ Applications ของคุณ
  2. คลิกขวาที่ Xcode และเลือก "Show Package Contents"
  3. นำทางไปยัง Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
  4. คุณจะเห็น iPhone Simulator.app
  5. ตอนนี้ในแอปการตั้งค่าแทนที่จะเลือก iOS Simulator ที่หายไปคุณเลือกอื่น ๆ ...
  6. จะมีหน้าต่างปรากฏขึ้นพร้อมรายชื่อแอปพลิเคชั่น
  7. ตอนนี้ลาก iPhone Simulator.app จากหน้าต่าง Finder ของคุณไปยังหน้าต่างที่ปรากฏขึ้นเมื่อคุณคลิกอื่น ๆ ...

iOS Simulator ไม่ปรากฏในเมนูแบบเลื่อนลงแอปพลิเคชันอีกต่อไป ฉันควรเลือก "xCode.app" หรือไม่ ฉันใช้ OS 10.8.3 กับ iOS Simulator 6.0
potench

8
ในหน้าต่างโปรแกรมค้นหาไปที่โฟลเดอร์ Applications ของคุณ คลิกตัวเลือกแล้วคลิก Xcode และเลือก "Show Package Contents" ไปที่Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/โฟลเดอร์ iPhone Simulator.appคุณจะเห็น ตอนนี้ในแอปตั้งค่าแทนการเลือกที่จะหายไปคุณเลือกiOS Simulator Other...จะมีหน้าต่างปรากฏขึ้นพร้อมรายชื่อแอปพลิเคชั่น ตอนนี้ลากiPhone Simulator.appจากหน้าต่าง Finder Other...ของคุณไปยังหน้าต่างที่ปรากฏขึ้นเมื่อคุณคลิก
Jeff Wolski

1
ฉันมาที่นี่เพื่อหาอย่างอื่น แต่ทำตามขั้นตอนของคุณเพียงเพราะคำตอบของคุณดีมาก ขอบคุณ!
โคดีบราวน์

1
Reset Content and Settingsจะไม่ล้างเนื้อหาฝั่งไคลเอ็นต์บน VPN ฉันกำลังดิ้นรนอยู่พักหนึ่งโดยสงสัยว่าทำไมภาพเคลื่อนไหว CSS ของฉันจึงทำงานได้ทุกที่ยกเว้นโปรแกรมจำลองเพียงเพื่อพบว่ามันกำลังแคชไฟล์เก่าแม้ว่าฉันจะลบเนื้อหาและการตั้งค่าไปแล้วก็ตาม สิ่งเดียวที่ใช้งานได้สำหรับฉันคือการตัดการเชื่อมต่อจาก VPN ของฉันและรีสตาร์ท VM ของฉันจากนั้นเชื่อมต่อใหม่ (เฟรมเวิร์กที่ฉันใช้เวอร์ชันเนื้อหาทั้งหมดสำหรับฉัน) - คุณสามารถกำหนดเวอร์ชันด้วยตนเองได้หากเพียงแค่ทดสอบสิ่งต่างๆ นี่คือสิ่งที่ Apple ควรแก้ไข มันเกิดขึ้นเมื่อทดสอบ iOS สำหรับฉันเท่านั้น
Benny

3
หากคุณไม่พบเครื่องจำลองที่เส้นทางContents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/ตามที่ @JeffWolski ชี้ไว้คุณสามารถค้นหาโดยใช้คำค้นหาsimulator.app
atulkhatri

9

สำหรับการพัฒนาเว็บและการทดสอบบน iOS Simulator (Safari):

  1. เมื่อเปิดทั้ง iOS Simulator และ Safari ให้ไปที่ Safari> พัฒนา> iOS Simulator แล้วเลือกเพจของคุณซึ่งจะให้คุณเข้าถึงเครื่องมือ Web Inspector

  2. ไปที่ Safari> พัฒนา> แคชว่างเพื่อล้างแคชบน iOS Safari


@AdrianFlorescu นี่คือวิธีแก้จุดบกพร่องในการพัฒนาเว็บบน iOS Safari แต่ฉันคิดว่าคำถามเกี่ยวกับการพัฒนาแอพ iOS
Ryan

4
ไม่ทำงานบน Safari 9.0.3 ที่มีตัวดีบักระยะไกล "ปิดการใช้งานแคช" ก็ไม่มีผลเช่นกัน
Gamadril

1
การตั้งค่านี้ไม่ได้ทำอะไรให้ฉันเลย (ไม่ได้ล้างแคชในซาฟารีมือถือจริงๆ)
HandiworkNYC.com

ใช่. ดูเหมือนว่าจะไม่ได้ล้างแคช iOS อีกต่อไป ฉันเดาว่าในอดีต ...
59

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