Używam identyfikatora UID w usłudze iCloud. Nie używam CoreData. Jaki jest najlepszy sposób usunięcia identyfikatora UID?Jak usunąć dokumenty iCloud?
Odpowiedz
Aby usunąć dokument z iCloud, najpierw trzeba uzyskać nazwę pliku, który chcesz usunąć. a następnie możesz go usunąć za pomocą NSFileManager.
NSString *saveFileName = @"Report.pdf";
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
NSURL *ubiquitousPackage = [[ubiq URLByAppendingPathComponent:@"Documents"] URLByAppendingPathComponent:saveFileName];
NSFileManager *filemgr = [NSFileManager defaultManager];
[filemgr removeItemAtURL:ubiquitousPackage error:nil];
Jest to sposób, który służy do usuwania dokumentu, Sprawdź to. To jest woking dla mnie świetne. Dzięki
Chyba znalazłem rozwiązanie:
[[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:url destinationURL:nil error:nil]
Źródło: http://oleb.net/blog/2011/11/ios5-tech-talk-michael-jurewitz-on-icloud-storage/
To nie pracą iCloud teraz ignoruje ten Wywołanie przy użyciu wartości docelowejURL z zerową wartością: –
See Jabłko dokumentacja "Zarządzanie życiowego Cyle Dokumentu" pod „Usuwanie dokumentu. "
Skopiowane z sekcji "Deleting a Document" z Document-Based App Programming Guide for iOS
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
NSFileCoordinator* fileCoordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
[fileCoordinator coordinateWritingItemAtURL:fileURL options:NSFileCoordinatorWritingForDeleting
error:nil byAccessor:^(NSURL* writingURL) {
NSFileManager* fileManager = [[NSFileManager alloc] init];
[fileManager removeItemAtURL:writingURL error:nil];
}];
});
NB:". Po usunięciu dokumentu z magazynu jego kod powinien być zbliżony do tego, co robi UIDocument dla operacji odczytu i zapisu. Należy wykonać usunięcie asynchronicznie w kolejce w tle, i powinien użyć koordynacji pliku.”
Jeśli używasz "identyfikatora użytkownika", nie ma potrzeby implementacji własnego menedżera NSFileCoordinator, jest on już upakowany w "UIDocument". Używanie twojej metody jest drogie w wielu instancjach 'NSFileCoordinator'. Zobacz: https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileCoordinators/FileCoordinators.html – Joseph
@Joseph Zastanawiam się, z powyższej odpowiedzi wynika, że albo nie jestem w stanie usunąć przedmiot, który jest przedmiotem UIDocument, z iCloud lub aplikacja zawiesza się, gdy próbuje to zrobić? Moje powiązane pytanie [tutaj] (http://stackoverflow.com/questions/43821141/app-hangs-deleting-icloud-document-when-following-guideline-using-nsfilecoordi) – yohannes
SWIFT 3 pochodzą z @AlexChaffee„s odpowiedź
func deleteZipFile(with filePath: String) {
DispatchQueue.global(qos: .default).async {
let fileCoordinator = NSFileCoordinator(filePresenter: nil)
fileCoordinator.coordinate(writingItemAt: URL(fileURLWithPath: filePath), options: NSFileCoordinator.WritingOptions.forDeleting, error: nil) {
writingURL in
do {
try FileManager.default.removeItem(at: writingURL)
} catch {
DLog("error: \(error.localizedDescription)")
}
}
}
}
- 1. Dokumenty iCloud niewidoczne
- 2. UIDocumentPickerViewController -> "Brak dokumenty", ponieważ iCloud niedostępne
- 3. Jak usunąć dokumenty z Elasticsearch
- 4. Mongo usunąć ostatnie dokumenty
- 5. Raven DB: Jak mogę usunąć wszystkie dokumenty danego typu?
- 6. Jak usunąć zawartość katalogu Dokumenty (a nie sam katalog Dokumentów)?
- 7. Jak usunąć wszystkie dokumenty w kolekcji mongodb w java
- 8. Jak usunąć wszystkie kolekcje i dokumenty w ArangoDb
- 9. Kontenerów wszechświata iCloud nie są czyszczone w aplikacji usunąć?
- 10. Przesyłanie strumieniowe z iCloud?
- 11. Dokumenty, które nie są przesyłane do usługi iCloud podczas używania pętli - iOS
- 12. Usunąć puste dokumenty z DocumentTermMatrix w R topicmodels?
- 13. Usuń dokumenty typu w Elasticsearch
- 14. Apple iCloud Calendar API
- 15. Jak najlepiej projektować dokumenty projektowe?
- 16. MagicalRecord iCloud wystawia
- 17. Klucz synchronizacji iCloud
- 18. Jak sprawdzić, czy iCloud jest programowo programowany?
- 19. Jak włączyć obsługę iCloud dla sqlite?
- 20. Czy istnieje aplikacja internetowa iCloud?
- 21. Usunięcie danych iCloud nie powoduje usunięcia NSUbiquitousKeyValueStore?
- 22. Zapisywanie dokumentów iOS 8 na dysku iCloud
- 23. Asynchroniczne i gotowe dokumenty
- 24. konstrukcyjne Dokumenty (poziom wysoki i niski poziom konstrukcyjne dokumenty)
- 25. Aktualizacja zagnieżdżone dokumenty MongoDB
- 26. db.collection.update() wszystkie dokumenty
- 27. Dokumenty linków ArangoDB
- 28. Dokumenty EDI X12 - Dokumentacja
- 29. łączące dwa dokumenty biurowe
- 30. CCNet API, dokumenty?
Zgodnie z dokumentami należy usunąć elementy asynchroniczne w kolejce tła: http://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/ManageDocumentLifeCycle/ManageDocumentLifeCycle. html # // apple_ref/doc/uid/TP40011149-CH4-SW4 – Jonny
Tam, gdzie to działa, nie korzysta z implementacji 'UIDocument'' NSF Odpowiedź ileCoordinator' Adrian Sarli jest lepsza. – Joseph
Dla odniesienia, zauważ, że 'removeItemAtURL:' nie usunie dokumentu, jeśli nie został jeszcze pobrany z iCloud na urządzenie. – Mark