2013-01-22 14 views
12

Dodaję iCloud z danymi podstawowymi do aplikacji, która już istnieje w sklepie z aplikacjami, więc muszę przetestować scenariusze aktualizacji. Jednak gdy usuwam aplikację z mojego urządzenia i ponownie instaluję ją z Xcode, zauważyłem, że wszystko w moim folderze kontenerów wszechobecności na urządzeniu jest zachowane! Jest to niezwykle denerwujące, ponieważ iCloud zaczyna się mylić, próbując przesłać pliki z katalogu dzienników transakcji, który określiłem i często przekraczam limit czasu. W końcu muszę określić lokalizację nowego dziennika transakcji, aby ponownie zadziałał, co oczywiście nie zadziała w przyszłości na moje testy.Kontenerów wszechświata iCloud nie są czyszczone w aplikacji usunąć?

Poniżej znajduje się błąd otrzymuję:

PFUbiquitySafeSaveFile waitForFileToUpload:: CoreData: Ubiquity: (0) permanentLocation: : /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa~o8hF4bunW~zmdS_C8om5efuugxRaA=/receipt.0.cdt safeLocation: : /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa~o8hF4bunW~zmdS_C8om5efuugxRaA=/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20.0.cdt currentLocation: : /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa~o8hF4bunW~zmdS_C8om5efuugxRaA=/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20.0.cdt

kv: (null)

Safe save failed for file, error: Error Domain=NSCocoaErrorDomain Code=512 "The file upload timed out." UserInfo=0x1e5b6b10 {NSLocalizedDescription=The file upload timed out.}

Czy ktoś wie jak usunąć pojemnik wszechobecność między aplikacja instaluje? Nawet usunięcie kontenera wszechobecności z ustawień aplikacji i ponowne opublikowanie go nie rozwiązuje tego problemu. Klient teoretycznie byłby w stanie zaatakować ten problem, po prostu usuwając aplikację, a następnie usuwając jej pliki iCloud. Ten problem był naprawdę frustrujący, aby określić przyczynę problemu - wszelkie sugestie są doceniane!

Odpowiedz

7

Po wielu uderzeniach głowy udało mi się to rozgryźć. Ktoś wspomniał mi, że możesz zobaczyć wszystkie swoje dane iCloud dla swojego urządzenia, jeśli przejdziesz na stronę developer.icloud.com i zalogujesz się na swoje konto iCloud. Wykonując niektóre testy, mogłem zauważyć, że dane na serwerze iCloud zostały usunięte natychmiast po tym, jak poleciłem mu usunięcie z mojego urządzenia. Jednak wszystkie foldery i pliki, które utworzyłem w moim pojemniku na wino na moim urządzeniu, pozostały, nawet jeśli usunąłem moją aplikację.

Moja praca polegała na sprawdzaniu, czy podczas konfigurowania mojej aplikacji używam iCloud po raz pierwszy i czy moje katalogi znajdują się już w pojemniku. Jeśli tak, ręcznie usuwam katalogi i wszystkie pliki w nich z następującym kodem:

[fileManager removeItemAtPath:[[fileManager URLForUbiquityContainerIdentifier:nil] path] error:&error]; 
+0

Jak ustaliłeś, czy konfigurujesz iCloud po raz pierwszy? Uratować NSUserDefaults? Kiedy po raz pierwszy konfigurujesz sposób czyszczenia tego folderu? – Austin

+0

Sprawdziłem, czy istnieją foldery w moim zbiorniku ubikacji (takie jak plik bazy danych). – lehn0058

+0

Jak usunąć folder?Próbowałem usunąć z '[[NSFileManager defaultManager] removeItemAtPath: path error: & error];' ale pojawia się błąd – kroger

2

Tak powinien działać iCloud. Usunięcie aplikacji na jednym urządzeniu nie powoduje automatycznego usunięcia danych usługi iCloud. Jeśli aplikacja jest nadal zainstalowana na innych urządzeniach korzystających z tego samego konta, może nadal korzystać z tych danych.

Jeśli chcesz wyczyścić dane usługi iCloud podczas testowania, przejdź do Ustawienia -> iCloud, przejdź do swojej aplikacji i usuń dane.

+1

Tak - dokładnie to wyczyściłem dane. Nadal pozostawia tego folderu wszędobylskiego na moim urządzeniu, co jest przyczyną problemów. Zmieniłem nawet moją aplikację, aby sprawdzić, czy ten folder nadal istnieje, aby upewnić się, że nie jestem szalony, i zawsze jest tam po usunięciu danych iCloud z ustawień. – lehn0058

+0

Po prostu istnieje folder wszędobylski - pusty-- * powinien * być w porządku. Jeśli nie jest to dobre dla ciebie, dobrze byłoby zaktualizować pytanie bardziej szczegółowo, co dokładnie dzieje się nie tak. –

+2

To nie tylko pojemnik wszechobecny. Katalogi wewnątrz niej również tam są. Myślę, że właśnie to powoduje, że iCloud się myli, ponieważ istnieją one w lokalnym zbiorniku wszędobylskim, ale nie na serwerze iCloud. Kończy się to z powodu przekroczenia limitu czasu, gdy zgłoszę żądanie dodania stałego koordynatora sklepu. Zrobię więcej testów, aby uzyskać dokładne informacje o tym, co jeszcze zostało na urządzeniu po usunięciu ustawień iCloud. – lehn0058

Powiązane problemy