Tag: logging

日志debugging目标C代码时使用什么日志logging解决scheme?

我目前在我的代码中的每一处都使用NSLog来testing它,除了使用标准的NSLog之外,还有更好更专业的方法吗? 介意分享其他专业目标-c编码器在debugging时使用的日志loggingfunction吗?

魔法logging导入(下一步)

我已经把标题的下一步,因为这是不一样的问题,因为我几乎完全相同的标题上一个问题。 我有一个Person实体。 Person ——– name – mappedKeyName: FullName email – mappedKeyName: EmailAddress personID – mappedKeyName: Id ——– photos 和一个Photo实体。 Photo ——– image createDate – mappedKeyName: Date photoID – mappedKeyName: Id ——– owner (type Person) – mappedKeyName: UserId – relatedByAttribute: personID 还有其他一些与Person相关的对象,这些JSON也是如此… { ObjectId : blah, Owner : { Id : 12345asdfg, FullName : Oliver, EmailAddress […]

NSPredicate未执行

这很有趣。 在我的应用程序中,我在数据库中创build了数千个条目(在另一个线程中,我使用的是MagicalRecord)。 一切似乎工作正常(从背景/前景/背景的angular度来看)。 在主线程中,当我试图获取“刚刚插入”的数据时,我发现了以下行为: – (NSArray *) familiesInCompany:(Company *) company { NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"company == %@", company]; NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"company.name == %@", company.name]; NSArray *first = [Family MR_findAllSortedBy:@"name" ascending:YES withPredicate:predicate1]; NSArray *second = [Family MR_findAllSortedBy:@"name" ascending:YES withPredicate:predicate2]; NSArray *third = [Family MR_findByAttribute:@"company" withValue:company andOrderBy:@"name" ascending:YES]; return second; } 现在我得到的是: 第一:是一个空的数组 第二:包含所有的Family对象,如预期的那样 […]

CocoaLumberjack与Swift – 调用预处理器macros

我开始用新的编程语言Swift构build一个IOS应用程序。 我设法使用CocoaPods,并能够在我的AppDelegate.swift中使用我的CustomLoggerFormatter(Objective-C)成功创buildDDTTYLogger,并将其附加到logging器中。 var customLoggerFormatter = CustomLoggerFormatter() var consoleLogger: DDTTYLogger = DDTTYLogger.sharedInstance() consoleLogger.setLogFormatter(customLoggerFormatter) DDLog.addLogger(consoleLogger) 但问题是,CocoaLumberjack库正在使用预处理器macros的logging器方法,如DDLogVerbose(@"..") 在DDLog.h中定义的是: #define DDLogVerbose(frmt, …) LOG_OBJC_MAYBE(LOG_ASYNC_VERBOSE, LOG_LEVEL_DEF, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__) 是否有任何解决方法使预处理器在Swift中定义工作? 还是有人尝试过类似的更成功?

如何使用核心数据模型而不保存它们?

我正在编写一个应用程序,我正在使用MagicalRecord作为与Core Data交互的框架。 应用程序从服务器获取海报arrays,然后显示它们。 海报也可以在应用上创build,然后上传到服务器,如果用户需要它。 因此,用户创build的海报使用Core Data存储在本地数据库中,而从服务器获取的海报只能在应用程序中显示,而不能在本地保存。 如何使用相同的Poster类(现在是NSManagedObject的子类)来处理这两种情况? 这是我的class级: @interface Poster : NSObject @property (nonatomic, retain) NSNumber * posterID; @property (nonatomic, retain) NSString * artists; @end 当我从服务器获取海报数组时,我分配一个新的海报,然后分配属性: Poster *poster = [[Poster alloc] init]; if ([dict objectForKey:@"id"]) poster.posterID = [dict objectForKey:@"id"]; if ([dict objectForKey:@"artists"]) poster.artists = [dict objectForKey:@"artists"]; 但是,当到达链接poster.posterID = [字典等等等应用程序崩溃这个错误 由于未捕获的exception'NSInvalidArgumentException',原因:' – [海报setPosterID:]:无法识别的select器发送到实例0xaa8b160' 如果我用Poster *poster = […]

我无法在Parse中更新logging; 错误:“找不到更新的对象(代码:101,版本:1.2.16)”

我使用Parse作为我的本地iOS应用程序的后端。 我无法更新Parse中的表中的logging。 首先我查询我想要更新它的对象。 所以,“对象”数组返回1logging,但是当我想更新它时,我得到以下错误; “对象未find更新(代码:101,版本:1.2.16)” 那么你觉得我不能在Parse中更新logging呢? (以下是我的代码) 谢谢,E. PFQuery *query = [PFQuery queryWithClassName:@"askedFriends"]; [query whereKey:@"questionID" equalTo:aqDt.questionID]; [query whereKey:@"fbID" equalTo:FbId]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { NSArray *postArray = objects; PFObject *post = postArray.lastObject; [post setObject:@"sentReply" forKey:btnSelection]; [post saveInBackground]; }

如何在iOS 10上设置日志级别?

这是如此简单,但如果我试图使用iOS10的新的“统一日志logging和活动跟踪”API,我怎么设置我在Console.app中看到的日志消息的级别? 换句话说,如果我有像这样在iOS上运行的代码: fileprivate let logger = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "mycategory") fileprivate func logv(_ s:String) { os_log("%@",log:logger,type:.info,s) } 然后,我需要做什么来查看Console.app中logging的消息? 默认情况下,只有types为.error日志消息才显示出来。 我想知道如何做到这一点,如果我在设备上运行代码,而不是在模拟器。 有关: Xcode 8 – os_log_debug和os_log_info日志不显示在新的Mac控制台(统一日志logging)

不能使用比较魔法logging中的date的谓词

我正在做一个方法,将删除所有我没有更新在上次同步的NSManagedObjects。 – (void)removeStaleObjects { // Delete objects that have not been updated in this sync. NSPredicate *stalePredicate = [NSPredicate predicateWithFormat:@"updated < %@", self.syncStart]; NSArray *staleObjects = [Node MR_findAllWithPredicate:stalePredicate]; for (Node *n in staleObjects) { [[NSManagedObjectContext MR_defaultContext] deleteObject:n]; } } 该代码在MR_findAll …行上保持失败 [__NSDate objCType]: unrecognized selector sent to instance 我已经用苹果文档检查了我的语法,并且我正确地创build谓词是99%,startDate只是 _startDate = [NSDate date]; 在我的同步之前运行。 然后我同步后,我打电话 […]

如何禁用日志logging?

我有一个使用Apple提供的UITextChecker类的应用程序。 这个类有一个错误:如果iOS设备处于脱机状态(预计通常是我的应用程序),每次我调用一些UITextChecker的方法时,它将logging到控制台: 2016-03-08 23:48:02.119 HereIsMyAppName [4524:469877] UITextChecker sent string:isExemptFromTextCheckerWithCompletionHandler: to com.apple.TextInput.rdt but received error Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.TextInput.rdt was invalidated." 我不希望有这个消息垃圾邮件。 有没有办法禁用代码日志logging? 在调用任何UITextChecker的方法之前,我将禁用日志logging,然后重新启用它。 或者有没有什么办法如何有select地禁用日志select每个类(事件,如果它是基础类不是我的)? 还是其他解决scheme?

cocoa的最佳logging器

任何人都可以推荐我一个cocoa的好logging器,应该与log4j相提并论。 我一直在开发这个应用程序在cocoa&随着源代码越来越多,我发现我的自我渴望logging器。 我GOOGLE了一下,已经find了一些select,但我期待听到你们和你与这些logging器的经验。 我期待听到您的意见。