Mam aplikację na iOS w sklepie z aplikacjami, która może pobrać stosunkowo duże pliki, które muszą pozostać na urządzeniu do użytku w trybie offline. Te pliki są obecnie przechowywane w folderze aplikacji Documents
, ale właśnie czytam, że utworzono kopię zapasową folderu Documents
i należy go używać wyłącznie w przypadku treści generowanych przez użytkowników. This Apple technical Q&A stwierdza, że należy ustawić NSURLIsExcludedFromBackupKey
, aby zapobiec tworzeniu kopii zapasowej. This stwierdza, że aplikacja to /Library/Caches
jest odpowiednim miejscem do umieszczania tego rodzaju plików, chociaż dalsze czytanie sugeruje, że folder może zostać wyczyszczony, gdy urządzenie ma mało pamięci, co jest niedopuszczalne dla tej aplikacji. Wierzę, że /Library/Application Support/
jest wtedy najlepszą lokalizacją dla nich - czy to brzmi dobrze?Duże pliki pobrane do Dokumentów i z kopią zapasową do iCloud
Niestety, ten błąd przeszedł proces sprawdzania aplikacji. Jakie są najlepsze metody naprawiania tego teraz, gdy użytkownicy korzystają z aplikacji i mają już pewne pliki przechowywane w folderze Documents
i ich kopiach zapasowych? Wygląda na to, że muszę przenieść wszystkie istniejące pliki i ustawić ich aktualizację na NSURLIsExcludedFromBackupKey
. Jak mogę zagwarantować, że zostanie to zrobione dokładnie raz i że nie zostanie przerwane? Czy przeniesienie plików z folderu Documents
jest ważne, czy mogę je tam zostawić? Czy zmiana statusu kopii zapasowej plików spowoduje usunięcie ich z istniejących kopii zapasowych?
Używam Swift 2.1.1 i kieruję na iOS 8.0+.
Dzięki, @Allen. Pliki były już w jednym folderze, więc wykluczyłem je i przeszedłem przegląd aplikacji. Dokumentacja NSURL (https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/#//apple_ref/doc/constant_group/Common_File_System_Resource_Keys) stwierdza, że "Niektóre operacje zwykle wykonywane do dokumentów użytkownika powoduje, że ta właściwość jest resetowana do wartości false, w związku z tym nie używaj tej właściwości w dokumentach użytkownika ", co mnie dotyczy. Na razie po prostu wykluczam katalog przy każdym uruchomieniu aplikacji, ale nie wydaje mi się to idealne. –
Bez obaw, dotyczy to folderu Dokumenty, a nie podkatalogu, którego będziesz używać, i pamiętaj, że w systemie iOS nikt inny nie będzie miał dostępu do środowiska Twojej aplikacji. – Allen
Jeśli możesz dodać źródło potwierdzające, że możesz pozostawić pliki w folderze Dokumenty i dodać więcej szczegółów do odpowiedzi, na przykład czy zmiana statusu plików spowoduje usunięcie ich z istniejących kopii zapasowych (prawdopodobnie nie?), Mogę zaakceptować odpowiedź. –