2012-05-31 20 views
15

मैं पूरे फ़ोल्डर को आईट्यून्स द्वारा समर्थित बीइंग से रोकने की कोशिश कर रहा हूं। मैंने तकनीकी रिपोर्ट http://developer.apple.com/library/ios/#qa/qa1719/_index.html का पालन किया लेकिन ऐसा लगता है कि बाघ हर समय शून्य है। मैं आईओएस 5.1 का उपयोग सिम्युलेटर और डिवाइस पर करने की कोशिश करता हूं। लेकिन कुछ भी मदद करता है। विधियां हर बार "सफलता" लौटती हैं, लेकिन ध्वज अभी भी शून्य है।NSURLIsExcludedFromBackupKey को सही ढंग से सेट नहीं किया जा सकता

+ (BOOL) hasSkipBackupAttributeToItemAtURL:(NSURL *)URL 
{ 
    NSError *error = nil; 

    id flag = nil; 
    BOOL success = [URL getResourceValue: &flag 
            forKey: NSURLIsExcludedFromBackupKey error: &error]; 

    if(!success){ 

     NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); 
     return false; 
    } 

    if (!flag) 
     return false; 

    return [flag boolValue]; 
} 

+ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL 
{ 
    NSError *error = nil; 

    BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES] 
            forKey: NSURLIsExcludedFromBackupKey error: &error]; 

    if(!success){ 

     NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); 

    } 

    return success; 

} 

+ (BOOL)removeSkipBackupAttributeToItemAtURL:(NSURL *)URL 
{ 
    NSError *error = nil; 

    BOOL success = [URL setResourceValue: [NSNumber numberWithBool: NO] 
            forKey: NSURLIsExcludedFromBackupKey error: &error]; 

    if(!success){ 

     NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); 

    } 

    return success; 

} 

उत्तर

26

मैंने बस इसे अपने ऐप में तय किया और यह निराशाजनक था, लेकिन यह सब बहुत अच्छा काम कर रहा था। तो, addSkipBackupAttributeToItemAtURL के लिए कोड यहां है। आप इसे देखना चाह सकते हैं। यह 5.0.1 और 5.0 का भी इलाज करता है। आप केवल अपने कोड में 5.1 और उच्च का इलाज कर रहे हैं।

लेकिन:

मान लीजिए कि आप एक NSString * पथ करते हैं - अपने फ़ाइल/फ़ोल्डर के लिए पथ, साथ विधि कॉल नहीं है:

[NSURL urlWithString:path];यह 5.0 पर काम करेंगे .1 लेकिन 5.1 और उच्चतर पर नहीं।

इसके बजाय use [NSURL fileURLWithPath:path];

तो: [MyClass addSkipBackupAttributeToItemAtURL: [NSURL fileURLWithPath: पथ]];

वास्तव में, मुझे लगता है कि यह आपके कोड के साथ एकमात्र समस्या है। जिस विधि से मैंने लिंक किया है, उसे केवल पिछड़ा संगतता प्रदान करेगा, जो एक बढ़िया जोड़ है।

उम्मीद है कि इससे मदद मिलती है।

सादर, जॉर्ज

+1

प्रतिभाशाली आप मेरी सुबह बचाया: मैं भी यह तरीका सही तरीका है कि मैं addSkipBackupAttributeToItemAtURL बुलाया बदलते हल! – microspino

+0

धन्यवाद !!! एफडब्ल्यूआईडब्ल्यू, मैंने ऐप्पल को एक बग रिपोर्ट डाली ... अगर यह काम नहीं करता है तो कम से कम एक त्रुटि देनी चाहिए। –

+0

वैसे यह निश्चित रूप से मूर्खतापूर्ण और अजीब या कुछ भी नहीं है .... इस उत्तर के लिए बहुत बहुत धन्यवाद !!! पूरी तरह से मुझे दुःख का एक टन बचाया। – DanM

2

मेरे लिए एक ही समस्या है।

[MyClass addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:path]]; 
संबंधित मुद्दे