2014-09-19 7 views
13

Jaki jest praktyczny sposób sprawdzenia stanu "z miejsca na dysku" za pomocą symulatora systemu iOS?Jak mogę użyć symulatora systemu iOS do symulacji braku miejsca na dysku?

+2

Można podjąć odpowiednie katalogu poniżej 'Library/Developer/CoreSimulator/Devices'; i zamontuj partycję o ograniczonym rozmiarze na obrazie urządzenia, np. zrób obraz dysku, skopiuj zawartość oryginalnego urządzenia do obrazu dysku, a następnie spróbuj tego. To nie jest odpowiedź, ponieważ wymaga dużego nakładu pracy i nie odpowiada rzeczywistej sytuacji na urządzeniu. – Petesh

Odpowiedz

0

Jest to niepraktyczne na symulatorze (trzeba było wypełnić dysk Maca). Najlepszym sposobem na uzyskanie tego testu jest użycie rzeczywistego urządzenia i wypełnienie go przez iTunes i przetestowanie na urządzeniu.

+0

Czy zdajesz sobie sprawę z szybkiego sposobu, aby to zrobić? Mam całkiem nowego iPada, który dostaliśmy jako urządzenie testujące i musimy dość szybko napełnić 25 GB. – akousmata

+0

Szybki sposób na wypełnienie muzyką, którą masz na myśli? Mogę też wypróbować filmy. – Woodstock

+1

Tak, właśnie to zrobiłem, po prostu włączam kamerę i pozwalam jej działać przez kilka godzin. – akousmata

22

Tworzenie miniatury obrazu dysku:

hdiutil create -size 2m -fs HFS+ /tmp/2meg.dmg 

zamontować go do odpowiedniego katalogu w swojej aplikacji na symulatorze, np .:

hdiutil attach /tmp/2meg.dmg -mountpoint /Users/.../Library/Developer/CoreSimulator/Devices/.../data/Applications/.../Library/Caches 

Uruchom aplikację i wykonać swoje testy. Można to również zrobić, gdy aplikacja jest uruchomiona. W tym przypadku prawdopodobnie nie chcesz instalować go jako katalogu bezpośrednio, ponieważ spowoduje to ukrycie bieżących plików w tych folderach. Zamontuj zamiast tego podkatalog. Jeśli nie jest to łatwo możliwe bez zmiany ścieżek w aplikacji, zamontuj obraz w innym miejscu i skopiuj dane przed zamontowaniem go na niepustym katalogu.

Aby odmontować:

hdiutil detach /Users/.../Library/Developer/CoreSimulator/Devi... 

Należy jednak pamiętać, że operacja nie powiedzie się, jeśli odłączy punktem podłączenia jest przesuwany. Dzieje się tak cały czas, ponieważ Apple zmienia nazwy katalogów symulatorów na iOS 8 przy każdym uruchomieniu aplikacji. W takim przypadku użyj polecenia mount, aby znaleźć zamontowane urządzenie, np. /dev/disk3s1 /Users/.../Library/..., następnie odmontować obraz dysku używając nazwy urządzenia zamiast punktu montowania:

hdiutil detach disk3s1 
+0

Sprawdziło się doskonale dla mnie. Dziękuję za odpowiedź. – azdev

+0

To działało. Zauważ też, że narzędzie 'mkfile' (na Mac OS X) było dla mnie pomocne przy wypychaniu pustego miejsca za pomocą pliku o niestandardowym rozmiarze. – Protongun

+0

Świetna odpowiedź. Ponadto, przynajmniej w Xcode 9, ponowne uruchomienie aplikacji w tym samym symulatorze nie zmienia nazwy katalogu, więc możesz użyć tego samego zestawu do wielu uruchomień. – stevex

Powiązane problemy