我有自定义NSIncrementalStore
。如果添加它时出现问题,则错误会自动记录到控制台。
问题是options
可能包含我显然不希望登录到控制台的敏感数据。
我认为Core Data记录了错误,我并不需要,因为我已经有了一个可以正确使用的NSError参数。
例如:
@implementation FakeStore
- (BOOL)loadMetadata:(NSError **)error {
*error = [NSError errorWithDomain:@"faildomain" code:531 userInfo:nil];
return NO;
}
@end
尝试添加商店:
[NSPersistentStoreCoordinator registerStoreClass:[FakeStore class] forStoreType:@"FakeStore"];
...
NSDictionary *options = @{@"option": @"sensitivedata"};
NSError *error;
[persistentCoordinator addPersistentStoreWithType:@"FakeStore" configuration:nil URL:storeUrl
options:options error:&error];
自动记录到控制台的错误:
CoreData: error: -addPersistentStoreWithType:FakeStore configuration:(null) URL:<URL> options:{
option = sensitivedata;
} ... returned error Error Domain=faildomain Code=531 "The operation couldn’t be completed. (faildomain error 531.)" with userInfo dictionary {
}
解决方法是,敏感数据不应传递到我的商店的options
,但不一定非必要。
无论如何都要压制这个错误吗?
答案 0 :(得分:0)
你不能把它关掉但是你应该可以重定向它。 Bummer ..需要私有API ..是你的选择吗?
尝试了第一个链接,发现它仍然有效!
如果私有API不是选项:否(并且Id提交错误:D)