จำลองโหมดเครื่องบินใน iPhone Simulator


คำตอบ:


114

ปิดการเชื่อมต่อเครือข่ายของคุณบน Mac


14
เห็นได้ชัดว่าฉันเตะตัวเอง แต่ในขณะเดียวกันพวกเขาก็สามารถหาทางออกที่ดีกว่านี้ได้แน่นอน!
benlumley

37
มันยากกว่าที่คิดแม้ว่าทีมของเราจะขอให้ Apple ใช้ฟังก์ชันที่คล้ายกัน ปัญหาคือแอพที่ทำงานในเครื่องจำลองเป็นแอพ Mac จริงๆ iPhone Simulator ไม่ได้เลียนแบบ iPhone เป็นเพียงสภาพแวดล้อมสำหรับแอป Mac ที่จะเชื่อมโยงและดูเหมือน iPhone ดังนั้นคุณต้องมีวิธีที่เลเยอร์ระบบเพื่อ จำกัด ไม่ให้แอปพูดคุยกับเครือข่าย Unix ไม่ได้ให้สิ่งนั้น มันแทบจะต้องการการสนับสนุนเคอร์เนลเพื่อให้ได้มา คุณสามารถทำได้ง่ายขึ้นสำหรับ NSURLConnection และเครือข่ายของมัน แต่อาจทำให้สับสนมากขึ้นหากบางสายใช้งานได้และบางสายไม่ทำงาน
Rob Napier

13
สิ่งนี้ไม่ได้จำลองโหมดเครื่องบิน ... เนื่องจากตัวจำลอง GPS ยังคงทำงาน แต่ไม่ส่งคืนค่า
Jann

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

9
ฉันเห็นด้วยกับ occuulus เมื่อทำงานในสำนักงานการปิดเครือข่ายของทั้งเครื่องจะเป็นอันตรายอย่างมากต่อการสื่อสารในสภาพแวดล้อมการทำงาน มีหลายสถานการณ์ที่นี่ไม่ใช่วิธีแก้ปัญหาที่ยอมรับได้
Krejko

59

คุณสามารถติดตั้ง Network Link Conditioner ของ Apple ได้

บน Yosemite:

Network Link Conditioner สามารถพบได้ในแพ็คเกจ "Hardware IO Tools for Xcode" นี้สามารถดาวน์โหลดได้จากแอปเปิ้ลผู้พัฒนาดาวน์โหลดหน้า เมื่อการดาวน์โหลดเสร็จสิ้นให้เปิด DMG และดับเบิลคลิกที่ "Network Link Condition.prefPane" เพื่อติดตั้ง ( source )

ด้วยแผงการตั้งค่านี้คุณสามารถสร้างโปรไฟล์ด้วยความเร็ว 0kbps

Network Link Conditioner

ใน OSX เวอร์ชันเก่า:

สิงโตภูเขา / Mavericks: Xcode > Open Developer Tool > More Developer Tools
สิงโต:/Developer/Applications/Utilities/Network Link Conditioner


11
ความสามารถในการเข้าถึงไม่เห็นการเปลี่ยนแปลงใด ๆ เมื่อใช้ Network Link Conditioner ในความเป็นจริงเมื่อฉันตั้งค่าเป็น 0kbps และการสูญเสียแพ็กเก็ต 100% มันยังคงรายงานทุกอย่างที่อัปเดตและเข้าถึงได้ผ่าน wifi วิธีนี้ใช้ไม่ได้กับการพยายามทดสอบโหมดเครื่องบิน
E. Freitas

1
แน่ใจหรือว่าคุณเปิดสวิตช์ขนาดใหญ่ทางด้านซ้ายเป็น "เปิด"
Tieme

ปัญหาเดียวกันที่นี่ Link Conditioner ถึง 0kbps ขึ้น / ลงและการสูญเสียแพ็คเก็ต 100% ขึ้น / ลงไม่ได้ช่วย iOS Simulator เพิ่งหมดเวลาหลังจากนั้นไม่นาน 0kbps ถือว่าเป็นแบนด์วิดท์ MAX
ออกแบบโดย Adrian

17

คุณสามารถใช้Little Snitchกับ temp ได้เช่นกัน บล็อกการเชื่อมต่ออินเทอร์เน็ตสำหรับแอพนี้


ดังนั้นจึงหมายความว่าคุณสามารถแก้ไขไฟล์โฮสต์เพื่อให้ได้สิ่งเดียวกันขอบคุณสำหรับไอเดียบัดดี้
panchicore

-1

แฮ็คได้ง่ายขึ้น: สร้างฟังก์ชันตรวจสอบการเชื่อมต่อ

import NetInfo from '@react-native-community/netinfo';

export const ckeckIsConnected = async () => {
  const isConnected = NetInfo.fetch().then((state) => {
    return state.isConnected;
  });
  return isConnected;
};

ดึงข้อมูลของคุณเฉพาะเมื่อมีการเชื่อมต่อ หากต้องการจำลองการไม่เชื่อมต่อเพียงแค่กลับfalse ไปที่ฟังก์ชันนี้ไม่ว่าการเชื่อมต่อจริงจะเป็นอย่างไร

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