[Info] 特定のファイルをiCloudバックアップ対象外にする

2011年11月14日月曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

iOS 5.0.1 から指定したファイルを iCloud および iTunes バックアップから除外できるようになった。その方法の紹介と関連してデータの種類毎の格納場所、バックアップの扱いの説明など。



データカテゴリ


データの用途によって4つのカテゴリが挙げられている。

カテゴリ用途ディレクトリバック
アップ対象
Critical Dataユーザが作成するデータ
または
再作成ができないデータ
Documents
Cached Data再ダウンロード
または
再作成が可能なデータ
Library/Caches×
Temporary Data使用期間の短い一時的な
データで保存が不要なデータ
tmp×
Offline Dataオフライン時に
利用するデータ
Documents または
Library/Private Documents
かつ拡張属性付与


拡張属性 "do not backkup"


iOS5.0.1 よりファイルに 拡張属性 "do not backup" を付与することで特定のファイルを iCloud/iTunesバックアップの対象外にできる。以下は Technical Q&A からの転載。
#include <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    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;
}
拡張属性が認識されるのは iOS5.0.1以降。それ以前は機能しない(つまりバックアップされる)。


参考情報


setxattr(2) Mac OS X Developer Tools Manual Page

setxattr関数のマニュアル

Responses

Leave a Response

人気の投稿(過去 30日間)