私のアプリでは、Core Data Database とオーディオ ファイルを保存する必要があるため、それらをデコードして Documents ディレクトリに配置しました。それらがバックアップされないようにするために、最初にアプリを起動したときに、次のように Don't BackUp フラグを立てます。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self addSkipBackupAttributeToItemAtURL:[self applicationDocumentsDirectory]];
}
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
if (&NSURLIsExcludedFromBackupKey == nil) { // iOS <= 5.0.1
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
} else { // iOS >= 5.1
return [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil];
}
}
しかし、それはうまくいかないようです - 私はまだ拒否されます:
お客様のアプリは、App Store レビュー ガイドラインで義務付けられている iOS データ ストレージ ガイドラインに準拠していないことが判明しました。
特に、起動時および/またはコンテンツのダウンロード時に、アプリが 3.6 MB を保存することがわかりました。アプリが保存しているデータ量を確認するには:
- アプリをインストールして起動する
- [設定] > [iCloud] > [ストレージとバックアップ] > [ストレージの管理] に移動します
- 必要に応じて「すべてのアプリを表示」をタップ
- アプリのストレージを確認する
もう1つの問題は、それを確認できないことです-アプリが表示されません
設定 > iCloud > ストレージとバックアップ > ストレージの管理
多分問題は私がここで考えていない5.0だけですか?