2016-06-24 6 views
0

Appleのエンジニアは、まれにクラッシュするようですが、Apple Engineerは、NSDataオブジェクトの作成時からアプリケーションの最初のバイトを読み取ろうとする間にユーザーがデバイスをロックすると、クラッシュが発生する可能性がありますNSDataオブジェクト。Parse iOS SDKのPFFile.getData()のNSFileProtectionレベルはどのくらいですか?

これは、「完全な」データ保護レベル(NSFileProtectionComplete)を持つファイルをParseがダウンロード/保存していることを意味します。 Parse iOS SDK

let query = PFQuery(className: aClass) 
let result = try query.getFirstObject() 

guard 
    let imageObject = result.objectForKey(aKey) as? PFFile, 
    let imageData = try? imageObject.getData(), 
    let firstByte = imageData.dataType() // this reads the 1st byte of data 
else { 
    return 
} 

は、デバイスが起動した後にアンロック/最初のユーザ認証後のファイルへのアクセスを許可するNSFileProtectionCompleteUntilFirstUserAuthenticationを、使用しているようです。

static NSDictionary *_PFFileManagerDefaultDirectoryFileAttributes() { 
#if !PF_TARGET_OS_OSX 
    return @{ NSFileProtectionKey : NSFileProtectionCompleteUntilFirstUserAuthentication }; 
#else 
    return nil; 
#endif 
} 

static NSDataWritingOptions _PFFileManagerDefaultDataWritingOptions() { 
    NSDataWritingOptions options = NSDataWritingAtomic; 
#if !PF_TARGET_OS_OSX 
    options |= NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication; 
#endif 
    return options; 
} 

@interface PFFileManager() 
@property (nonatomic, copy) NSString *applicationIdentifier; 
@property (nonatomic, copy) NSString *applicationGroupIdentifier; 
@end 
@implementation PFFileManager 

だから私は、右の同期PFFile.getData()NSFileProtectionCompleteUntilFirstUserAuthenticationを使用することを想定していますか?または、データがメモリにロードされ、ファイルにまったく書き込まれないため、ファイル保護はまったく使用されませんか?

答えて

0

さらに解析のiOS SDKに掘り後、私は質問に答えることができます。

を同期(非同期のような)ファイルのフェッチはNSFileManagerNSFileProtectionCompleteUntilFirstUserAuthenticationと一時ファイルにデータが保存されます。

関連する問題