Tag: logging

如何在Core Data上下文之外使用Core Data模型子类?

我试图在Swift中制作一个天气应用程序,它将保存我添加到Core Data的城市,每个城市都包含一个天气对象,该对象也保存到Core Data和其他各种variables。 但是我很快就发现,在核心数据上下文之外使用核心数据NSManagedObjects子类几乎是不可能的(处理NSNumber和类似的问题,没有自定义的初始化,被迫将它们保存在某个地方,如果我明天停止使用核心数据, 。 那么,继续使用核心数据的最佳做法是什么,但是还要在上下文之外使用模型? 我现在的解决scheme是为每个模型创build一个类,所以: class City { var country: String? var name: String? // … } 是相应的类: class CD_City { @NSManaged var country: String? @NSManaged var name: String? // … } 所以我可以在任何地方使用City ,无论如何我想要的。 但是我需要一个function来把一个City变成CD_City而且相反。 所以我真的不确定我是不是最好的方法。 另外你会推荐作为一种转换方法? (仅供参考,我使用MagicalRecord作为核心数据帮手)

使用MagicalRecord'CoreData无法解决错误'错误

我正在使用MagicalRecord 2.2。 有时我会在产品代码中收到“CoreData无法完成故障”的崩溃,并且已经创build了一些testing代码来调查此问题。 这是它的描述。 我有一个实体“对象”。 一开始,我在主线程上创build一个对象,然后调用[MagicalRecord saveWithBlock:…],从本地上下文中获取这个对象并删除它。 我添加了额外的日志logging方法(NSManagedObjectContext + MagicalSaves.m) (void)MR_saveWithOptions 🙁 MRSaveContextOptions)掩码完成 // BEFORE REAL SAVE is placed before line 'saved = [self save:&error];' // AFTER REAL SAVE is placed after it // Logging code line is: // // NSManagedObjectContext *context = … (defaultContext/rootContext/self) // NSArray *objects = [context executeFetchRequest:[NSFetchRequest fetchRequestWithEntityName:@"Object"] error:NULL]; // NSLog(@"%i […]

如何访问我的iphone本身的日志文件

所以我的应用程序不断崩溃,失去了在控制台输出的所有日志。 我决定越狱的手机,并使用此代码写入文件: +(void)Log:(NSString *)content { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString* docDir = [paths objectAtIndex:0]; NSString * logFile = [docDir stringByAppendingString:@"/log.txt"]; NSData *dataToWrite = [content dataUsingEncoding: NSUTF8StringEncoding]; NSFileHandle* outputFile = [NSFileHandle fileHandleForWritingAtPath:logFile]; [outputFile seekToEndOfFile]; [outputFile writeData:dataToWrite]; [outputFile closeFile]; } 如果我放置一个断点, outputFile的值如下所示:/var/mobile/Applications/B8AB0D75-7FBE-4C5B-8D48-2ABCE9C7564D/Documents/log.txt 我通过cydia在手机上安装了vim,并且在上述目录中没有log.txt! (我已经通过SSH 隧道 SSH到我的iPhone使用iPhone隧道作为根SSH。在另一个尝试,我手动创build使用VIM log.txt并再次运行代码..仍然没有任何东西被附加到文件..任何想法?

在iOS中使用AVAudioPlayer之后,请讲话录音机失败

我在我的项目中使用Apple的SpeakHere示例。 我可以录制语音和玩没有问题.. 当我更改视图控制器,我正在使用AVAudioPlayer播放录制的声音时,会发生问题。如果我再次回到SpeakHereViewControllerlogging一次,然后说“错误:测光失败”。 为什么发生? 提前致谢。

如何从背景应用程序运行iPhone的屏幕截图?

我需要做一个应用程序,可以继续运行,每秒从背景截图或video录制的屏幕。 由于iOS应用程序在沙箱中运行,因此可以做到这一点。 注意:这个应用程序是为了内部的目的。 不会在app store发布。

MagicalRecord完成块在testing目标下不被调用

MagicalRecord.saveWithBlock({ context in if let items = dictionary["items"] as? Array<NSDictionary> { for itemInfo in items { DBItem.findOrUpdateItemWithDictionary(itemInfo, inContext: context) } } //is called if let sets = dictionary["item_sets"] as? Array<NSDictionary> { for setInfo in sets { DBSet.findOrUpdateSetWithDictionary(setInfo, inContext: context) } } }, completion: { finished, error in completionBlock(error) //is not called }) 这是我如何设置我的核心数据堆栈: MagicalRecord.setupCoreDataStackWithInMemoryStore()

什么原因信息可以很容易地在iOS信号处理程序中收集?

我试图添加一些崩溃日志到一个应用程序,我有一个signal处理程序设置捕捉标准的“致命”的信号。 什么“原因”的信息(如果有的话),我几乎可以/简单地收集信号处理程序进行logging? (我花了大约2个小时在Google上search,但是我发现的大部分内容都是针对其他环境的,而且太复杂了,不可靠。我正在寻找简单的方法,特别是在iOS环境中)。 (我已经有一个Objective-Cexception处理程序来捕获Objective-Cexception。)

***尝试截断时在+ 中断言失败

MagicalRecord版本2.0.7,我得到一个exception 每当我启动应用程序,它崩溃与此exception: *** Assertion failure in +[NSManagedObjectContext MR_defaultContext] 我正在像这样configurationcoredata: 在appdelegate didFinishLaunchingWithOptions方法中: [MagicalRecord setupCoreDataStack]; 在appdelegate applicationWillTerminate中: [MagicalRecord cleanUp]; 我注意到只有当我试图截断实体中的所有logging时才会发生崩溃: NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread]; [Song MR_truncateAllInContext:localContext]; 我错过了什么吗? 上面采用的方法是错误的? 编辑 崩溃发生在这一行上: + (NSManagedObjectContext *) MR_defaultContext { @synchronized (self) { NSAssert(defaultManagedObjectContext_ != nil, @"Default Context is nil! Did you forget to initialize the Core Data Stack?");//this line return […]

在iPhone应用程序中创build多个日志文件

我想在我的iPhone应用程序中创build两个日志文件。 如果我使用freopen()将NSLog输出redirect到一个文件,那么所有的日志语句都会进入一个提到的文件。 但是我想把一些日志语句放到一个文件中,而有些放到不同的文件中。 任何想法,我怎么能做到这一点?

MagicalRecord:如何在后台保存导入的数据

我试图导入数据到核心数据,并保存在一个后台线程与MagicalRecord 。 我基本上是这样做的: __block User *user = nil; [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) { user = [User MR_findFirstOrCreateByAttribute:@"userId" withValue:userId inContext:localContext]; [user MR_importValuesForKeysWithObject:responseObject]; }]; [User setCurrentUser:user]; 当我在该块内时,用户是正确的。 块完成后, user是NSManagedObject对象,但没有设置任何属性。 另一方面,这是工作的: OEUser *user = [OEUser MR_findFirstOrCreateByAttribute:@"userId" withValue:userId]; [user MR_importValuesForKeysWithObject:responseObject]; [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait]; [User setCurrentUser:user]; 但是我想把它保存在后台。 我也试过这个无济于事。 User *user = [User MR_findFirstOrCreateByAttribute:@"userId" withValue:userId]; [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) { User *localUser = […]