Mô phỏng chế độ máy bay trong iPhone Simulator


Câu trả lời:


113

Tắt kết nối mạng của bạn trên Mac.


14
quá rõ ràng tôi đã tự đá mình nhưng đồng thời, chắc chắn họ có thể đã đưa ra một giải pháp tốt hơn!
benlumley

37
Nó khó hơn âm thanh, mặc dù nhóm của chúng tôi đã yêu cầu Apple cho chức năng tương tự. Vấn đề là các ứng dụng chạy trong trình giả lập thực sự là ứng dụng Mac. Trình mô phỏng iPhone không mô phỏng iPhone; đó chỉ là môi trường để các ứng dụng Mac liên kết và trông giống iPhone. Vì vậy, bạn cần một cách, ở lớp hệ thống, để hạn chế một ứng dụng nói chuyện với mạng. Unix không cung cấp điều đó; nó gần như chắc chắn sẽ cần hỗ trợ kernel để có được nó. Bạn có thể làm điều đó dễ dàng hơn cho NSURLConnection và họ hàng của nó, nhưng sẽ khó hiểu hơn nếu một số cuộc gọi hoạt động và một số thì không.
Rob Napier

13
Điều này không mô phỏng chế độ máy bay ... vì trình giả lập GPS vẫn hoạt động nhưng không trả về giá trị.
Jann

18
Chỉ cần tắt kết nối mạng của bạn là không hữu ích trong một số trường hợp. Ví dụ: khi bạn đang kiểm tra khả năng tiếp cận và tính khả dụng của internet - đôi khi bạn thực sự cần chế độ máy bay. Trình giả lập không có kết nối mạng hoạt động không thực sự giống nhau. Ngoài ra, một số nơi làm việc có máy tính có vấn đề xác thực thực sự có nghĩa là việc hủy kết nối mạng của bạn không phải lúc nào cũng là một lựa chọn (vì mọi thứ đều ổn).
thỉnh thoảng

9
Tôi đồng ý với điều này. Khi làm việc trong văn phòng, việc tắt mạng cho toàn bộ máy gây bất lợi nghiêm trọng cho việc giao tiếp trong môi trường làm việc. Có nhiều tình huống mà đây không phải là một giải pháp chấp nhận được.
Krejko

59

Bạn có thể cài đặt Bộ điều hòa liên kết mạng của Apple

Trên Yosemite:

Điều hòa liên kết mạng có thể được tìm thấy trong gói "Công cụ IO phần cứng cho Xcode". Điều này có thể được tải xuống từ trang Tải xuống của Nhà phát triển Apple . Khi quá trình tải xuống hoàn tất, hãy mở DMG và nhấp đúp vào "Network Link condition.prefPane" để cài đặt ( nguồn ).

Với bảng tùy chọn này, bạn có thể tạo một hồ sơ với tốc độ 0kbps.

Điều hòa mạng

Trên các phiên bản cũ hơn của OSX:

Sư tử núi / Mavericks: Xcode > Open Developer Tool > More Developer Tools
Sư tử:/Developer/Applications/Utilities/Network Link Conditioner


11
Khả năng hiển thị không thấy bất kỳ thay đổi nào khi sử dụng Điều hòa liên kết mạng. Trên thực tế, khi tôi đặt nó ở mức 0kbps và mất gói 100%, nó vẫn báo cáo mọi thứ là có thể truy cập thông qua wifi. Điều này không hoạt động để thử kiểm tra chế độ Máy bay.
E.Freitas

1
bạn có chắc là bạn đã chuyển công tắc lớn ở bên trái sang "BẬT" không?
Tieme

Vấn đề tương tự ở đây, Liên kết điều hòa lên / xuống 0kbps và mất / giảm gói 100% không giúp ích gì. Trình mô phỏng iOS chỉ xuất hiện sau một thời gian. 0kbps được coi là băng thông MAX.
Thiết kế bởi Adrian

17

Bạn cũng có thể sử dụng Little Snitch để tạm thời. chặn kết nối internet cho ứng dụng này.


vì vậy nó có nghĩa là bạn có thể chỉnh sửa các tập tin máy chủ để đạt được điều tương tự, cảm ơn bạn đã có ý tưởng.
panchicore

-1

Hack dễ dàng hơn: tạo chức năng kiểm tra kết nối

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

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

Chỉ lấy dữ liệu của bạn nếu có kết nối. Để mô phỏng không có kết nối, chỉ cần quay lại false chức năng này bất kể kết nối thực là gì.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.