अस्वीकार कर दिया जाएगा मेरा ऐप अस्वीकार कर दिया गया क्योंकि ऐसा लगता है कि 7 एमबी दस्तावेज़ फ़ोल्डर में संग्रहीत हैं और वे स्वचालित रूप से icloud को भेज दिए जाते हैं।NSURLIsExcludedFromBackupKey - ऐप्स को आईओएस डेटा स्टोरेज दिशानिर्देशों का पालन करना होगा या उन्हें
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL {
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
if (&NSURLIsExcludedFromBackupKey == nil) {
// iOS 5.0.1 and lower
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
}
else {
// First try and remove the extended attribute if it is present
int result = getxattr(filePath, attrName, NULL, sizeof(u_int8_t), 0, 0);
if (result != -1) {
// The attribute exists, we need to remove it
int removeResult = removexattr(filePath, attrName, 0);
if (removeResult == 0) {
NSLog(@"Removed extended attribute on file %@", URL);
}
}
// Set the new key
NSError *error = nil;
[URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error];
return error == nil;
}
संस्करण मेरे ऐप्लिकेशन के 1.1 इस कोड को लागू होने के बाद मंजूरी दे दी थी: तो मैं सभी फ़ाइलों है कि इस विधि सोचा दस्तावेजों फ़ोल्डर में लिखा जाएगा फंस गए हैं। पिछले हफ्ते मैंने एक ही ऐप के संस्करण 1.2 को भेजने की कोशिश की थी (फ़ाइल प्रबंधन में कुछ भी नहीं बदला है, दस्तावेज़ फ़ोल्डर में संग्रहीत सभी फाइलें addSkipBackupAttributeToItemAtURL विधि के माध्यम से looped हैं)। मेरा ऐप उसी कारण से फिर से खारिज कर दिया गया था। मैं अपनी फ़ाइल को अस्थायी या कैश फ़ोल्डर में नहीं ले जा सकता क्योंकि मेरा ऐप पूरी तरह से फ़ाइल को पुनर्स्थापित नहीं कर सकता है (इस फ़ाइल में से एक डीबी है, डीबी बहाल करने का मतलब किसी भी उपयोगकर्ता डाले गए डेटा को ढीला करना है), इसलिए यह समाधान नहीं हो सकता है । वैसे भी मुझे कोड में कोई समस्या मिली है, इस प्रकार मैं विधि को कॉल करता हूं:
[स्वयं addSkipBackupAttributeToItemAtURL: [NSURL fileURLWithPath: fullPath]];
आईओएस 5.1 के साथ [NSURL fileURLWithPath: fullPath] डिवाइस का उपयोग कर एक त्रुटि लौटाता है और यह विशेषता बनाने के लिए असंभव प्रतीत होता है। अगर मैं nsurl के प्रारंभिककरण को [NSURL URLWithString: defaultStorePath] के साथ बदलता हूं, तो 5.1 के साथ डिवाइस सही ढंग से विशेषता जोड़ता है।
आईओएस 5.0.1 के साथ सभी उलटा हुआ है, [NSURL URLWithString: defaultStorePath] एक त्रुटि लौटाता है जबकि [NSURL fileURLWithPath: fullPath] काम करता है।
शायद मैं आईओएस संस्करण की जांच कर सकता हूं और उचित एनएसआरएल प्रारंभिकता सेट कर सकता हूं, लेकिन यह अभी भी एक समस्या बनी हुई है। अस्वीकृति स्पष्टीकरण में मैंने पढ़ा:
विशेष रूप से, हमने पाया कि लॉन्च और/या सामग्री डाउनलोड पर, आपका ऐप 7 एमबी स्टोर करता है। जांच करने के लिए कितना डेटा आपके ऐप्लिकेशन भंडारण किया जाता है:
- स्थापित करें और अपने अनुप्रयोग
- सेटिंग्स> iCloud> संग्रहण & बैकअप पर जाएं लांच> प्रबंधित संग्रहण
- यदि आवश्यक हो, "सभी दिखाएं ऐप्लिकेशन" नल
- तो मैं यह मान मैं सही nsurl प्रारंभ (सभी विशेषताओं को ठीक से सेट कर रहे हैं जब) के साथ 7 एमबी यह भी देखना जाँच करने की कोशिश को अपने ऐप्लिकेशन के भंडारण
की जाँच करें। सही व्यवहार क्या है? इस समस्या के साथ कोई भी? क्या मुझे इसे महत्वपूर्ण बनाने के लिए सेब द्वारा सुझाए गए ऐप स्टोरेज चेक से पहले कुछ विशिष्ट करना है?