iPhone Simulator - Simula una connessione lenta?


125

C'è un modo per rallentare la connessione Internet al simulatore di iPhone, in modo da imitare il modo in cui l'app potrebbe reagire quando ti trovi in ​​un punto lento della rete cellulare?


La risposta di Alan dovrebbe essere accettata.
Stanislav Mayorov,

@StanislavMayorov questa domanda è di 9 anni fa. Alan ha quindi dato una risposta aggiornata 4 anni dopo. Adesso sono trascorsi 5 anni. Mi dispiace non sto esaminando e riconsiderando le risposte accettate sulle mie vecchie domande.
Chris,

Risposte:


67

Un'app chiamata SpeedLimit

https://github.com/mschrag/speedlimit

Funziona alla grande.

Chris.


fantastico appena provato e fa il lavoro. Grazie!
Max MacLeod,

Yosemite: impossibile impostare il limite di velocità
Injectios,

2
Rotto, diceFailed to set speed limit
vintagexav

1
Il modo giusto per fare questo si spiega con Alan H. risposta .
lifeisfoo,

"Non sono più in grado di mantenere questo progetto. Sentitevi liberi di sborsare e assumere la proprietà."
catanore,

261

Come installare il Network Link Conditioner di Apple

Queste istruzioni sono aggiornate a ottobre 2019.

Avvertenza: se hai appena effettuato l'aggiornamento alla nuova versione di macOS, assicurati di installare il condizionatore di rete più recente ( in Strumenti aggiuntivi per Xcode ) o potrebbe non riuscire in modo silenzioso ; cioè, lo accenderai ma non rallenterà nulla o lascerà cadere alcun pacchetto.

Aggiornamento: a partire da Xcode 11, potrebbe esserci un modo ancora più semplice per simulare le condizioni di rete su dispositivi collegati; vedi questo post sul blog . Per informazioni su come influire sui dispositivi simulati , continua di seguito, come in precedenza.

  1. Installa Xcode se non lo hai.

  2. Apri Xcode e vai a Xcode ›Apri strumento per sviluppatori› Altri strumenti per sviluppatori ...

    Schermata di navigazione nel menu come descritto

  3. Scarica strumenti aggiuntivi per Xcode (corrispondente alla versione corrente di Xcode)

    Link per il download di IO Tools aggiuntivi

  4. Apri l'immagine del disco scaricata e fai doppio clic su Network Link Conditioner .prefpane in "Hardware" per installarlo.

    riquadro pref in DMG

    preferenze di sistema che mostrano il prompt di installazione

  5. Eccoci!

    Schermata del riquadro delle preferenze

  6. Assicurati di accenderlo. È necessario selezionare un profilo e abilitare il condizionatore di rete con l'interruttore grande che dovrebbe essere familiare dal prefpane di Time Machine.

    inserisci qui la descrizione dell'immagine

Avvertimento

Ciò non influirà su localhost, quindi assicurati di utilizzare un server di gestione temporanea o un computer di collaboratore per simulare connessioni di rete lente a un'API che stai eseguendo. È possibile che https://ngrok.com/ sia utile al riguardo.


6
per Xcode 8, questo è incluso in "Strumenti aggiuntivi per Xcode 8" (invece di "Hardware IO Tools per Xcode")
Mohit Singh,

1
@MohitSingh Grazie. Ho aggiornato la risposta sopra.
Alan H.

1
Sorprendente! Grazie.
Thomás Calmon,

1
Non sembrano esserci strumenti aggiuntivi per Xcode 10.3?
Leo,

1
@leo, basta usare gli strumenti aggiuntivi correnti per la versione principale di Xcode che hai. Ad esempio, utilizzare Strumenti aggiuntivi per Xcode 11 se Xcode 11.1 è installato.
Alan H.

81

"C'è un'app per questo!" ;) Apple fornisce il riquadro delle preferenze "Network Link Conditioner" che fa abbastanza bene il lavoro.

  • per le versioni Xcode precedenti alla 4.3, è possibile trovare il programma di installazione del riquadro nella Developercartella, ad esempio "/Developer/Applications/Utilities/Network Link Conditioner"dopo l'installazione, se il daemon non si avvia e non si desidera riavviare il computer, basta usare sudo launchctl load /system/library/launchdaemons/com.apple.networklinkconditioner.plist
  • se hai già finito con la Developercartella, puoi installare il riquadro come parte del pacchetto "Hardware IO Tools per Xcode" disponibile tramite la sezione download aggiuntivi di Mac Dev Center.

Link alla pagina di download (è necessario accedere con il proprio ID Apple): https://developer.apple.com/downloads/index.action
(crediti a @nverinaud)


2
Ecco un link per sfogliare i download disponibili: developer.apple.com/downloads/index.action
nverinaud

2
non funziona su Mountain Lion ... stackoverflow.com/questions/12414676/…
zack

sarebbe bello se fosse specifico per l'app, e non per l'intero computer
Charles John Thompson III,

3
Ora puoi scaricare "Hardware IO Tools" dal sito degli strumenti per sviluppatori di Apple. Lo aggiornano per le nuove versioni di Xcode (e quindi OSX): in Xcode, fare clic su Xcode-> Open Developer Tool-> More Developer Tools..., accedere, trovare l'ultimo archivio, scaricare, copiare i file da qualche parte, fare doppio clic sul riquadro delle preferenze del condizionatore di rete, installarlo. . Sìì!
i_am_jorf

Immagino che non funzioni per Yosemite. L'ho impostato su "lossy" ma in realtà non ha avuto alcuna differenza
Injectios

2

Vale anche la pena ricordare che Xcode ha anche un modo integrato per i dispositivi , non per il simulatore.

  • Basta andare su "Dispositivi e simulatore" ( cmmd+shift+2)
  • Seleziona il tuo dispositivo
  • Scorri verso il basso fino a trovare "Condizioni dispositivo"
  • Imposta il profilo desiderato
  • Premi Start

inserisci qui la descrizione dell'immagine

Per far funzionare tutto ciò è necessario installare 'Network Link Conditioner'. Vedi i passaggi menzionati nella risposta di Alan


0

Non esiste un modo diretto per emulare una connessione lenta, a differenza, diciamo, del simpatico emulatore di connessione di rete di cui godono gli sviluppatori di Blackberry. Tuttavia, poiché la connessione del tuo simulatore passa attraverso il tuo computer, puoi semplicemente concentrarti sul rallentamento della connessione del tuo computer.

Ti consigliamo di ottenere due cose (a seconda delle circostanze):

  • limitare la larghezza di banda
  • aumenta la tua latenza

Forse questo ti indicherà la giusta direzione:

http://www.macosxhints.com/article.php?story=20080119112509736

Ci sono anche alcune buone soluzioni open source, ma non ricordo i loro nomi.

Questa domanda potrebbe aiutare: come limitare il traffico di rete per la simulazione ambientale?


0

Direi che una connessione lenta non è sufficiente per simulare il comportamento della rete di dati mobili di lavoro reale, poiché c'è anche molta più perdita di pacchetti, latenze più elevate e anche più connessioni interrotte.

Ecco un utile script per configurare il firewall per emulare questi parametri:

http://pmilosev-notes.blogspot.com/2011/02/ios-simulator-testing-over-different.html


2
Network Link Conditioner (strumento di Apple che viene installato come riquadro delle preferenze) simula connessioni lente, perdita di pacchetti e latenza.
n00neimp0rtant,

Network Link Conditioner, aggiunto in OS X Lion (rilasciato a luglio 2011), rende superflui script come questo.
Nick Dowell,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.