Was ist ein praktischer Weg, um den Zustand "nicht genügend Speicherplatz" mit dem iOS Simulator zu testen?Wie kann ich den iOS-Simulator verwenden, um den Speicherplatz zu simulieren?
Antwort
Dies ist im Simulator nicht praktikabel (Sie müssten die Festplatte Ihres Macs auffüllen.) Der beste Weg, diesen Testfall zu erreichen, besteht darin, ein tatsächliches Gerät zu verwenden und Musik über iTunes zu laden und auf dem Gerät zu testen.
Sind Sie sich bewusst, einen schnellen Weg, dies zu tun? Ich habe ein brandneues iPad, das wir als Testgerät haben und 25GB ziemlich schnell füllen müssen. – akousmata
Schneller Weg, um mit Musik zu füllen, meinen Sie? Ich würde vielleicht sogar Videos ausprobieren. – Woodstock
Ja, genau das habe ich getan, einfach die Kamera angemacht und für ein paar Stunden laufen lassen. – akousmata
Erstellen Sie eine kleine Scheibe Bild:
hdiutil create -size 2m -fs HFS+ /tmp/2meg.dmg
Berg es in das entsprechende Verzeichnis in Ihrem Simulator app, z.B .:
hdiutil attach /tmp/2meg.dmg -mountpoint /Users/.../Library/Developer/CoreSimulator/Devices/.../data/Applications/.../Library/Caches
Run App und Ihre Tests durchführen. Dies kann auch während der App ausgeführt werden. In diesem Fall möchten Sie es wahrscheinlich nicht als Caches
oder Documents
Verzeichnis direkt mounten, da dies die aktuellen Dateien in diesen Ordnern verbergen würde. Mounten Sie stattdessen in ein Unterverzeichnis. Wenn dies nicht ohne weiteres möglich ist, ohne die Pfade in Ihrer App zu ändern, mounten Sie das Image an einer anderen Stelle und kopieren Sie die Daten, bevor Sie sie über das nichtleere Verzeichnis kopieren.
Zum Aushängen:
hdiutil detach /Users/.../Library/Developer/CoreSimulator/Devi...
Beachten Sie jedoch, dass der Trennvorgang schlägt fehl, wenn der Mount-Punkt bewegt wird. Dies passiert die ganze Zeit, weil Apple bei jeder Ausführung einer App Simulator-Verzeichnisse auf iOS 8 umbenennt. In diesem Fall verwenden Sie den Befehl mount
, um das Gerät zu finden, das Sie installiert haben, z. /dev/disk3s1 /Users/.../Library/...
, aushängen dann das Disk-Image mit dem Gerätenamen anstelle des Mount-Punkt:
hdiutil detach disk3s1
Arbeitete großartig für mich. Danke für die Antwort. – azdev
Das hat funktioniert. Beachten Sie auch, dass das Dienstprogramm 'mkfile' (unter Mac OS X) hilfreich war, um den leeren Bereich mit einer benutzerdefinierten Datei zu füllen. – Protongun
Große Antwort. Zumindest in Xcode 9 ändert die Ausführung der App im selben Simulator nicht den Verzeichnisnamen, sodass Sie dasselbe Mount für mehrere Läufe verwenden können. – stevex
- 1. Wie kann ich Java verwenden, um Login zu simulieren
- 2. Wie erhalte ich in WPF den Inhalt eines TabItems, um den verfügbaren Speicherplatz zu füllen?
- 3. Wie kann ich den Speicherplatz in MATLAB ermitteln?
- 4. Wie kann ich den freien Speicherplatz einer CD-ROM ermitteln?
- 5. Wie kann ich den Browser zurück Knopf in Capybara simulieren?
- 6. Wenn ich das HDFS verwende, kann ich direkt den maximalen Speicherplatz konfigurieren, den ein Datanode verwenden kann?
- 7. Wie bekomme ich die Suche, um den attr_accessor zu verwenden?
- 8. Verwenden DB-Indizes den gleichen Speicherplatz wie Spaltendaten?
- 9. Wie verwende ich JS, um verfügbaren Speicherplatz zu füllen?
- 10. Verwenden von CSS, um den gesamten verfügbaren vertikalen Speicherplatz zu nutzen?
- 11. Simulieren Sie einen Speicherplatz in C#
- 12. Cassandra frisst den gesamten Speicherplatz
- 13. Wie konfiguriere ich den angularen UI-Router, um den strikten URL-Matching-Modus nicht zu verwenden
- 14. Verwenden Sie den verbleibenden Speicherplatz für n-Spalten gleich
- 15. Wie bekomme ich den Speicherplatz auf einem Server?
- 16. Wie erhalten Sie Steuerelemente in WPF, um den verfügbaren Speicherplatz zu füllen?
- 17. Wie verwenden Websites hitcounters, um den Verkehr zu steuern
- 18. Wie kann ich den WebClient (Webservice-Client) dazu bringen, automatisch den Standard-Proxy-Server zu verwenden?
- 19. Wie kann ich den WindowBuilder-Kern in Eclipse Kepler verwenden, um ein einfaches Fenster zu erstellen?
- 20. Wie kann ich einen Decorator verwenden, um den Typ von * Argumenten zu ändern?
- 21. Wie kann ich den Index angeben, um ihn in einer MySQL Select-Abfrage zu verwenden?
- 22. Wie kann ich Java verwenden, um über den USB-Anschluss mit dem Gerät zu kommunizieren?
- 23. Wie kann ich VB.Net verwenden, um den von einer URL zurückgegebenen Inhalt zu lesen?
- 24. Wie kann ich den GDI-Ausdruck verwenden, um das Expressdokument im Client zu drucken?
- 25. Wie kann ich den Pinch-Zoom (UIPinchGestureRecognizer) verwenden, um die Breite eines UITextView zu ändern?
- 26. Wie kann ich den bedingten Nulloperator verwenden, um nach Nullstring zu suchen?
- 27. Wie kann ich Python verwenden, um den JSON mit der AWS List Pricing API zu filtern?
- 28. Kann ich den Office 2007-Fensterstil verwenden?
- 29. Wie wird File.getFreeSpace() mit einer beliebigen Datei verwendet, um den freien Speicherplatz in Java zu erhalten?
- 30. Wie kann ich meine Klassen automatisch umgestalten, um den Standardnamespace für den Ordner zu verwenden, in dem sie sich befinden?
Sie das entsprechende Verzeichnis unter 'Library/Entwickler/CoreSimulator/Devices' nehmen könnte; und Montieren einer Partition mit begrenzter Größe an dem Gerätebild, z. Erstellen Sie ein Disk-Image, kopieren Sie den Inhalt des ursprünglichen Geräts in das Disk-Image und versuchen Sie es dann. Dies ist keine Antwort, denn es ist eine Menge Aufwand und entspricht nicht der realen Situation auf einem Gerät – Petesh