में 2 अलग-अलग फ़ाइलों के रूप में दिखा रहा है मेरे पास एक ऐसा ऐप है जो UIDocument का उपयोग करता है जो NSFileWrapper आधारित है। मेरी फ़ाइल रैपर दो उप-फाइल "photo.data" और "photo.metadata" के साथ "XXX.cp" नाम की एक निर्देशिका है। यह बचाने के लिए और लोड दस्तावेजों ठीक है, तथापि \ भंडारण \ अज्ञात प्रबंधित जब मैं सेटिंग पर जाएं लगता उप फ़ाइलों को अलग से सूचीबद्ध हैं:iCloud और NSFileWrapper: सेटिंग्स
मैं इसे उम्मीद कर रहा था "XXX.cp" दिखाने के बजाय करने के लिए इन दो उप-फाइलें। मुझे लगता है मैं दस्तावेज़ यूटीआई की स्थापना की और ठीक से निर्यात किया है:
और मुझे लगता है मैं सही ढंग से फ़ाइल रैपर बनाने हूँ (विशेष रूप से के बाद से इसे पढ़ता है/ठीक लिखते हैं):
- (void)encodeObject:(id<NSCoding>)object toWrappers:(NSMutableDictionary *)wrappers preferredFilename:(NSString *)preferredFilename {
@autoreleasepool {
NSMutableData * data = [NSMutableData data];
NSKeyedArchiver * archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:object forKey:@"data"];
[archiver finishEncoding];
NSFileWrapper * wrapper = [[NSFileWrapper alloc] initRegularFileWithContents:data];
[wrappers setObject:wrapper forKey:preferredFilename];
}
}
- (id)contentsForType:(NSString *)typeName error:(NSError *__autoreleasing *)outError {
if (self.captionedPhotoMetadata == nil || self.captionedPhoto == nil) {
*outError = [[NSError alloc] initWithDomain:CaptionedPhotoErrorDomain code:CaptionedPhotoInvalidDocument userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Invalid document!", @""), NSLocalizedDescriptionKey, nil]];
return nil;
}
NSMutableDictionary * wrappers = [NSMutableDictionary dictionary];
[self encodeObject:self.captionedPhotoMetadata toWrappers:wrappers preferredFilename:METADATA_FILENAME];
[self encodeObject:self.captionedPhoto toWrappers:wrappers preferredFilename:DATA_FILENAME];
NSFileWrapper * fileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:wrappers];
return fileWrapper;
}
लेकिन अभी भी कोई सिगार नहीं है। समस्या क्या है क्याकिसी को पता हैं? धन्यवाद!
मुझे यह समस्या भी मिली है और मेरे पास मेरे फ़ाइल एक्सटेंशन के लिए 3 अक्षर हैं। मैं अपनी निर्देशिका आधारित फ़ाइल रैपर के लिए एक्सटेंशन .tfx का उपयोग करता हूं। मैंने हाल ही में अपने रैपर फ़ाइलों को अपने सर्वव्यापी कंटेनर में एक अलग फ़ोल्डर में डालने का निर्णय लिया है जिसे मैं सिंक दस्तावेज़ कहते हैं। इस तरह व्यक्तिगत फाइलें उपयोगकर्ता के लिए दिखाई नहीं देती हैं। लेकिन यह वही है जो मैं वास्तव में चाहता हूं क्योंकि मेरी यूआईडी दस्तावेज सबक्लास फाइलें उपयोगकर्ताओं के लिए सीधे बातचीत करने के लिए नहीं हैं। –
मेरे पास बिल्कुल एक ही समस्या है, लेकिन मेरे फ़ाइल एक्सटेंशन में तीन अक्षर हैं (और एक आइकन)। मुझे लगता है कि निर्यातित यूटीआई में यह कुछ ख़राब सेटिंग है। मेरा झुकाव यह है कि iCloud में कुछ प्रकार की कैशिंग चल रही है और यह कि .cp से .cap से एक्सटेंशन को बदल रहा है जो टूट गया था। – auco
हे रे आपके ट्यूटोरियल से प्यार करता है, लेकिन मुझे अभी भी कोई समस्या है। मैं अपने रैपर को पैकेज के रूप में दिखाने के लिए प्राप्त कर सकता हूं लेकिन फिर मेरा nsmetadataquery उन्हें नहीं देखता है। यदि मैं * के साथ सभी दस्तावेजों को खोजता हूं तो ईवेंट नहीं। मेरा पहला दस्तावेज़ प्रकार काम करता है, लेकिन मेरी छवियां – zambono