Simulasikan mode pesawat di iPhone Simulator

127

Apakah ada cara untuk mensimulasikan mode pesawat di iPhone Simulator?

Jason Jenkins
sumber

Jawaban:

114

Matikan koneksi jaringan Anda di Mac.

Rob Napier
sumber
14
sangat jelas saya menendang diri saya sendiri. tetapi pada saat yang sama, tentunya mereka bisa membuat solusi yang lebih baik!
benlumley
37
Ini lebih sulit daripada kedengarannya, meskipun tim kami telah meminta Apple untuk fungsi serupa. Masalahnya adalah aplikasi yang berjalan di simulator sebenarnya adalah aplikasi Mac. IPhone Simulator tidak meniru iPhone; itu hanya lingkungan untuk aplikasi Mac untuk ditautkan dan terlihat seperti iPhone. Jadi Anda perlu cara, pada lapisan sistem, untuk membatasi aplikasi agar tidak berbicara ke jaringan. Unix tidak menyediakan itu; hampir pasti membutuhkan dukungan kernel untuk mendapatkannya. Anda bisa melakukannya lebih mudah untuk NSURLConnection dan kerabatnya, tetapi bisa lebih membingungkan jika beberapa panggilan berfungsi dan beberapa tidak.
Rob Napier
13
Ini tidak mensimulasikan mode pesawat ... karena simulator GPS masih berfungsi tetapi tidak mengembalikan nilai.
Jann
18
Hanya mematikan koneksi jaringan Anda tidak begitu berguna dalam beberapa keadaan. Misalnya, ketika Anda menguji jangkauan dan ketersediaan internet - terkadang Anda benar-benar membutuhkan mode pesawat. Simulator tidak memiliki koneksi jaringan yang berfungsi tidak benar-benar sama. Juga, beberapa tempat kerja memiliki komputer yang memiliki masalah autentikasi nyata yang berarti membunuh koneksi jaringan Anda tidak selalu merupakan pilihan (karena semuanya berjalan rusak).
occulus
9
Saya setuju dengan occuulus. Saat bekerja di kantor, mematikan jaringan untuk seluruh alat berat sangat mengganggu komunikasi di lingkungan kerja. Ada banyak situasi di mana ini bukan solusi yang dapat diterima.
Krejko
59

Anda dapat menginstal Kondisioner Tautan Jaringan Apple

Tentang Yosemite:

Kondisioner Tautan Jaringan dapat ditemukan dalam paket "Perangkat Keras IO Alat untuk Xcode". Ini dapat diunduh dari halaman Unduhan Pengembang Apple . Setelah unduhan selesai, buka DMG dan klik dua kali "Network Link Condition.prefPane" untuk menginstal ( sumber ).

Dengan panel preferensi ini Anda dapat membuat profil dengan kecepatan 0kbps.

Kondisioner Tautan Jaringan

Pada versi OSX yang lebih lama:

Mountain Lion / Mavericks: Xcode > Open Developer Tool > More Developer Tools
Lion:/Developer/Applications/Utilities/Network Link Conditioner

Ikat aku
sumber
11
Reachability tidak melihat perubahan apa pun saat menggunakan Network Link Conditioner. Bahkan, ketika saya mengaturnya ke 0kbps dan paket loss 100%, masih melaporkan semuanya sebagai dan dapat dicapai melalui wifi. Ini tidak berfungsi untuk mencoba menguji mode Pesawat.
E.Freitas
1
Anda yakin Anda mengganti tombol besar di sebelah kiri ke "ON"?
Tieme
Masalah yang sama di sini, Link Conditioner ke 0kbps atas / bawah dan paket loss 100% atas / bawah tidak membantu. Simulator iOS baru saja keluar setelah beberapa saat. 0kbps dianggap sebagai bandwidth MAX.
Disain oleh Adrian
17

Anda dapat menggunakan Little Snitch juga untuk temp. blokir koneksi internet untuk aplikasi ini.

Roded Konforty
sumber
jadi itu berarti Anda dapat mengedit file host untuk mencapai hal yang sama, terima kasih untuk sobat ide.
panchicore
-1

Retasan yang lebih mudah: membuat fungsi memeriksa koneksi

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

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

Apakah data Anda hanya diambil jika ada koneksi. Untuk mensimulasikan tidak ada koneksi, cukup kembali false ke fungsi ini apa pun koneksi sebenarnya.

arnaudambro
sumber