मैं iCloud के साथ एक UIDocument का उपयोग कर रहा हूँ। मैं CoreData का उपयोग नहीं कर रहा हूँ। UIDocument को हटाने का सबसे अच्छा तरीका क्या है?iCloud दस्तावेज़ों को कैसे हटाएं?
उत्तर
iCloud से दस्तावेज़ हटाने के लिए, पहले आप फ़ाइल नाम आप हटाना चाहते हैं पाने के लिए किया है। और फिर आप 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];
यह तरीका है, जिसे मैं दस्तावेज़ को हटाने के लिए उपयोग करता था, इसे जांचें। यह मेरे लिए बहुत अच्छा है। धन्यवाद
मुझे लगता है कि मैं एक समाधान मिला:
[[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:url destinationURL:nil error:nil]
स्रोत: http://oleb.net/blog/2011/11/ios5-tech-talk-michael-jurewitz-on-icloud-storage/
कि यह नहीं है कि काम iCloud अब इस पर ध्यान नहीं देता से आते हैं एक nil-value destinationURL के साथ कॉल करें। –
के तहत "एक दस्तावेज़ के जीवन cyle प्रबंध" 'एक दस्तावेज़ को हटाया जा रहा एप्पल देखें प्रलेखन। "
Document-Based App Programming Guide for iOS की "Deleting a Document" अनुभाग से कॉपी किया गया
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];
}];
});
एनबी:।" जब आप स्टोरेज से दस्तावेज़ हटाते हैं, तो आपके कोड को अनुमान लगाया जाना चाहिए कि यूआईडी दस्तावेज पढ़ने और लिखने के लिए क्या करता है। यह एक पृष्ठभूमि कतार पर अतुल्यकालिक रूप से हटाए जाने के प्रदर्शन करना चाहिए, और यह फ़ाइल समन्वय का उपयोग करना चाहिए। "
यदि आप 'यूआईडी दस्तावेज' का उपयोग कर रहे हैं तो अपने स्वयं के NSFileCoordinator को लागू करने की कोई आवश्यकता नहीं है, यह पहले से ही 'UIDocument' में बेक है। अपनी विधि का उपयोग करना कई 'NSFileCoordinator' उदाहरणों में महंगा परिणाम है। देखें: https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileCoordinators/FileCoordinators.html – Joseph
@ जोसेफ मैं आपके उत्तर से ऊपर सोच रहा हूं, यही कारण है कि मैं या तो हटाने में असमर्थ हूं एक आइटम, जो iCloud से UIDocument का ऑब्जेक्ट है या ऐसा करने का प्रयास करते समय ऐप लटकता है? मेरा संबंधित प्रश्न [यहां] (http://stackoverflow.com/questions/43821141/app-hangs-deleting-icloud-document-when-following-guideline-using-nsfilecoordi) – yohannes
स्विफ्ट 3 @AlexChaffee के जवाब
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. कोरडाटा + iCloud + कैस्केड हटाएं - कैसे संभालें?
- 2. iCloud: iCloud निष्क्रियता का प्रबंधन कैसे करें?
- 3. iCloud
- 4. आईओएस: दस्तावेज़ों से विशिष्ट एक्सटेंशन के साथ सभी मौजूदा फाइलों को कैसे हटाएं?
- 5. iCloud - किसी अन्य डिवाइस पर खुले दस्तावेज़ों का नाम बदलना कभी-कभी
- 6. आईओएस: iCloud
- 7. जावा मौजूदा दस्तावेज़ों में XML दस्तावेज़ों को जोड़ रहा है
- 8. आईआईएस: कमांड लाइन से वेबपैप को कैसे हटाएं/हटाएं/हटाएं?
- 9. फ़ाइल को कैसे हटाएं?
- 10. संपर्क को कैसे हटाएं?
- 11. शब्द दस्तावेज़ों को संग्रहीत करना
- 12. एक्सेल दस्तावेज़ों को विकी मार्कअप
- 13. सहायक दस्तावेज़ों
- 14. iCloud प्रदर्शन सेट का उपयोग क्या है?
- 15. कोर डेटा iCloud सिंक्रनाइज़ेशन
- 16. iCloud टाइम आउट। (iCloud + कोर डेटा + जादुई रिकॉर्ड
- 17. iCloud सिंक कीचेन
- 18. क्या iCloud // याहू
- 19. iCloud और NSFileWrapper: सेटिंग्स
- 20. iCloud सर्वव्यापकता त्रुटि
- 21. MagicalRecord iCloud मुद्दों
- 22. PHP सत्र को कैसे हटाएं?
- 23. डिफ़ॉल्ट कन्स्ट्रक्टर को कैसे हटाएं?
- 24. एकाधिक पंक्तियों को कैसे हटाएं?
- 25. नियंत्रक ExtJS को कैसे हटाएं?
- 26. निर्देशिका को दोबारा कैसे हटाएं?
- 27. गिट-नोट्स को कैसे हटाएं?
- 28. उप दृश्यों को कैसे हटाएं
- 29. removeChild(): इंडेंट को कैसे हटाएं?
- 30. NERDTree - फ़ाइल को कैसे हटाएं
दस्तावेज़ों के मुताबिक आपको पृष्ठभूमि कतार पर सामान एसिंक को हटाना होगा। http://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/ManageDocumentLifeCycle/ManageDocumentLifeCycle। एचटीएमएल # // apple_ref/doc/uid/TP40011149-CH4-SW4 – Jonny
यह कहां काम करता है यह 'एनआईडीएफएल' के 'एनआईडी दस्तावेज के कार्यान्वयन का लाभ नहीं उठाता ileCoordinator 'एड्रियन सरली का जवाब बेहतर है। – Joseph
संदर्भ के लिए, कृपया ध्यान दें कि 'removeItemAtURL:' दस्तावेज़ को हटा नहीं देगा अगर इसे अभी तक iCloud से डिवाइस पर डाउनलोड नहीं किया गया है। – Mark