İPhone Simulator'da uçak modunu simüle edin


Yanıtlar:


114

Mac'teki ağ bağlantınızı kapatın.


14
çok belli ki kendimi tekmeledim ama aynı zamanda daha iyi bir çözüm bulabilirlerdi!
benlumley

37
Göründüğünden daha zor, ancak ekibimiz Apple'dan benzer işlevsellik istedi. Sorun, simülatörde çalışan uygulamaların gerçekten Mac uygulamaları olmasıdır. İPhone Simulator, iPhone'u taklit etmez; bu sadece Mac uygulamalarının bağlantı kurması ve bir iPhone gibi görünmesi için bir ortamdır . Bu nedenle, sistem katmanında, bir uygulamanın ağ ile konuşmasını kısıtlamak için bir yönteme ihtiyacınız var. Unix bunu sağlamaz; elde etmek için neredeyse kesinlikle çekirdek desteğine ihtiyaç duyar. NSURLConnection ve akrabaları için bunu daha kolay yapabilirsiniz, ancak bazı çağrıların işe yarayıp bazılarının çalışmaması daha kafa karıştırıcı olabilir.
Rob Napier

13
GPS simülatörü hala çalıştığından, ancak bir değer döndürmediğinden, bu uçak modunu simüle etmez.
Jann

18
Bazı durumlarda ağ bağlantınızı kapatmak o kadar da kullanışlı değildir. Örneğin, erişilebilirliği ve internet kullanılabilirliğini test ederken - bazen gerçekten uçak moduna ihtiyacınız vardır. Simülatör, çalışan bir ağ bağlantısına sahip değil, gerçekten aynı değil. Ayrıca, bazı iş yerlerinde gerçek kimlik doğrulama sorunları olan bilgisayarlar vardır, bu da ağ bağlantınızı sonlandırmanın her zaman bir seçenek olmadığı anlamına gelir (her şey karıştığı için).
occulus

9
Occuulus'a katılıyorum. Ofiste çalışırken, tüm makine için ağı kapatmak, çalışma ortamındaki iletişim için ciddi şekilde zararlıdır. Bunun kabul edilebilir bir çözüm olmadığı birçok durum vardır.
Krejko

59

Apple'ın Network Link Conditioner'ını kurabilirsiniz

Yosemite'de:

Network Link Conditioner, "Xcode için Donanım IO Araçları" paketinde bulunabilir. Bu, Apple Geliştirici İndirmeleri sayfasından indirilebilir . İndirme işlemi bittiğinde, DMG'yi açın ve kurmak için ( kaynak ) "Network Link Condition.prefPane" öğesini çift tıklayın .

Bu tercihler paneli ile 0kbps hızında bir profil oluşturabilirsiniz.

Ağ Bağlantısı Saç Kremi

OSX'in eski sürümlerinde:

Dağ Aslanı / Mavericks: Xcode > Open Developer Tool > More Developer Tools
Aslan:/Developer/Applications/Utilities/Network Link Conditioner


11
Erişilebilirlik, Network Link Conditioner'ı kullanırken herhangi bir değişiklik görmez. Aslında, onu 0kbps ve% 100 paket kaybına ayarladığımda, yine de her şeyi wifi üzerinden erişilebilir ve erişilebilir olarak rapor ediyor. Bu, Uçak modunu test etmeye çalışırken işe yaramaz.
E.Freitas

1
Soldaki büyük düğmeyi "AÇIK" konumuna getirdiğinizden emin misiniz?
Tieme

Buradaki aynı sorun, Link Conditioner'ın 0kbps yukarı / aşağı ve% 100 paket kaybı yukarı / aşağı yardımcı olmuyor. İOS Simülatörü bir süre sonra zaman aşımına uğrar. MAX bant genişliği olarak 0kbps varsayılır.
Tasarım Adrian

17

Sen kullanabilirsiniz Küçük Snitch sıcaklığına kadar. bu uygulama için internet bağlantısını engelleyin.


bu, aynı şeyi başarmak için ana bilgisayar dosyalarını düzenleyebileceğiniz anlamına gelir, fikir arkadaşınız için teşekkürler.
panchicore

-1

Daha kolay hack: bağlantıyı kontrol eden bir fonksiyon oluşturun

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

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

Verilerinizi yalnızca bağlantı varsa alın. Bağlantının olmadığını simüle etmek false için, gerçek bağlantı ne olursa olsun bu işleve dönmeniz yeterlidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.