首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xcode8不会显示整个NSLog输出

Xcode8是苹果公司开发的一款集成开发环境(IDE),用于开发iOS和macOS应用程序。在Xcode8中,有时候会遇到NSLog输出不完整的情况。

NSLog是Objective-C语言中用于输出日志信息的函数。它可以将变量、字符串等信息打印到控制台,方便开发者调试和查看程序运行过程中的信息。

如果在Xcode8中遇到NSLog输出不完整的问题,可能是因为Xcode8默认对输出进行了截断处理。为了解决这个问题,可以尝试以下几种方法:

  1. 使用print函数代替NSLog:在Swift语言中,可以使用print函数进行日志输出,它不会进行截断处理。例如:print("Hello, World!")
  2. 使用os_log函数:os_log是苹果推出的一种更高效的日志输出方式,它可以提供更好的性能和可读性。使用os_log需要导入<os/log.h>头文件,并使用os_log函数输出日志信息。
  3. 修改Xcode的日志设置:可以在Xcode的Preferences(偏好设置)中修改日志输出的设置。选择Behaviors(行为),然后选择Running(运行)选项卡,在Console Output(控制台输出)一栏中,可以选择"Show only the most recent"(仅显示最近的输出)或者"Show all messages"(显示所有消息)。

总结: Xcode8在默认设置下可能会对NSLog输出进行截断处理,导致输出不完整。可以尝试使用print函数、os_log函数或者修改Xcode的日志设置来解决这个问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Xcode8禁止系统log&真机调试NSLog输出

连真机调试的时候NSLog输出的功能也失效了,那还怎么调试! 只能自己改写NSLog的实现宏定义了,利用printf()方法来实现。...方法,输出时间、方法名、行数、输入的内容 #define NSLog(format, ...) printf("\n[%s] %s [第%d行] %s\n", __TIME__, __FUNCTION_...#endif 根据代码可以很明显地看出来,定义了如果是DEBUG调试状态,就重新定义NSLog方法,否则还是使用系统原生的实现。...在自己定义的方法中我们额外添加了一些输出的内容:时间、当前在的方法、其在代码中的行数以及我们要输出的内容。要自己添加什么也可以,总之是为了自己调试方便。...这样无论是真机调试还是模拟器调试就都可以输出我重新定义后的内容了。

62920
  • 储存篇 - CoreData使用大全

    (2)NSPrivateQueueConcurrencyType 创建一个private queue(使用GCD),这样就不会阻塞主线程。...如果是Xcode8之前的版本自动创建的Core Data Stack,会不一样(跟情况2类似),如下图: ? 一个大坑: ?...这里有个坑,在Xcode8中,Codegen下拉选择框中增加了Class/Definition这一选项,而且是默认的预设值,这时候系统会自动帮我们这个实体创建了NSManagedObject子类,我们不需要再创建实体类...【五】关于CoreData的版本迁移 应用场景:修改了实体的数据结构(比如说某个实体增加了一个特性),因为APP版本更新后沙盒中的NSDocumentDirectory 中的缓存数据都不会被清除,这时候就要进行版本迁移了...,比如通过Core Data取出Person实体时,并不会立即查询相关联的Card实体;当应用真的需要使用Card时,才会查询数据库,加载Card实体的信息。

    2.5K20

    ios入门之消息推送

    10 系统中将之前繁杂的推送通知统一成UserNotifications.framework 来集中管理和使用通知功能,还增加一些实用的功能——撤回单条通知、更新已展示通知、中途修改通知内容、在通知中显示多媒体资源...UIApplicationStateInactive) { // 当应用在后台收到本地通知时执行的跳转代码 [self jumpToSession]; } NSLog...UIUserNotificationTypeSound = 1 << 1, 播放音效 UIUserNotificationTypeAlert = 1 << 2, 是否运行显示横幅...基本配置 条件:新建一个对应你bundle的push 证书,打开Push Notifications 开关(XCode7不打开也可以正常使用,XCode8以后必须打开)。 ? ?...其中上面的黄色区域可以理解成一个 ViewController 操作,下面绿色部分就是 Title 之类的显示内容。这部分是可以隐藏的。

    1.9K60

    兼容-记录Xcode8.0恢复插件全过程

    ---- Xcode8为什么禁止外来插件 我们可以看到在Xcode8中支持了开发插件工程,并且为我们提供了一个插件模板,开发的插件可以上传到App Store下载。...苹果现在将插件作为一个单独的应用程序,分开进程运行,不会对Xcode带来其他影响。 ? 插件的工作原理 让我们首先了解下,插件是怎样在Xcode中其作用的。...更多查看 一.通过xcode_plugins 破解Xcode 签名保护 复制一份xcode8出来,对其进行unsign....安装Alcatraz,如果重启xcode没有显示load bundle,在终端运行如下代码 添加xcode8的id给插件 应该可以解决大部分插件的问题 find ~/Library/Application...---- 小结 至此,Xcode8 的插件就可以恢复使用了。 参考文章 参考文章

    1.2K20

    OSLog与NSLog,OSLog的实践

    NSLog效率低的原因是NSLog做了两件事: 1.-它将日志消息写入Apple System Logging (asl)设施。这允许日志消息显示在Console.app中。 2....如果是,它将日志消息写入stderr(这样它就会显示在Xcode控制台中)。 要向ASL设施发送日志消息,基本上需要打开到ASL守护进程的客户机连接并发送消息。...如果不进行配置更改,则不会将它们移动到数据存储区,并在内存缓冲区填充时清除它们。但是,当发生错误或错误时,它们会在数据存储中捕获。...如果存在活动对象,则此级别的日志记录将捕获整个流程链的信息。 fault 故障级消息总是保存在数据存储中。它们会一直保留到超过存储配额,此时,最古老的消息将被清除。...DDOSLogger:在iOS10开始使用,在将Log输出到 控制台.app 和 Xcode控制台。跟NSLog输出方式一致。当然,经过处理之后,性能会比直接使用NSLog要好。

    1.1K20

    最基本的调试是NSLog及DEBUG预处理器宏

    最基本的调试是NSLog及DEBUG预处理器宏 在系统控制台显示日志信息运行应用程序时是最早调试机制之一,利用log你可以查看应用程序的运行记录,当程序运行完毕,你可以长时间查看。...作为一个开发者你是用NSLog的在console中显示的文本和信息的完全控制权,log可以发现即使是最难查找一个应用程序的问题....NSString *message = @"test message"; NSLog( @"Here is a test message: '%@'", message ); 并且,对于上述说法,控制台输出显示如下...控制台输出可以出现在许多地方,包括(但不限于)Xcode和控制台应用程序,参考有关从您的应用程序的调用NSLog的找到控制台输出的更多信息,请参见技术Q&A QA1747:调试部署iOS应用 如何调用NSLog...NSString *) outputData - refers to to the text we wish to display (also an NSString *) */ 而且,这里是输出显示方式

    1.4K30

    Xcode8 最快最方便的安装插件方案

    自从Xcode8出来后,为了安全起见,给Xcode安装插件就惨遭苹果封杀,随后出现很多解决方案,其中有一种比较完美的�方案: 教你如何科学的在Xcode8上使用插件,但是用过这个方案的同学会发现每次运行并安装插件之前需要添加当前...Xcode的DVTPlugInCompatibilityUUID,相当麻烦,而且安装完这个插件,上个或者上上个插件就失效了(随机的,也可能不会),不知道大家有没有遇到,反正我是遇到好多次~~最要命的是还要拷贝一份...列出已知的 Ruby 版本 列表显示已知的最新Ruby版本是2.4.0 接着我们指定安装Ruby版本 rvm install 2.4.0 待安装完成,可以输入【ruby -v】查看当前Ruby的版本是否为...而且不会搞两个Xcode出来 最重要的是:这种方式对上架没有任何影响!!!

    56250

    iOS 10 消息推送(UserNotifications)秘籍总结

    iOS 10 中将之前繁杂的推送通知统一成UserNotifications.framework 来集中管理和使用通知功能,还增加一些实用的功能——撤回单条通知、更新已展示通知、中途修改通知内容、在通知中显示多媒体资源...2、 Capabilities中打开Push Notifications 开关 在XCode7中这里的开关不打开,推送也是可以正常使用的,但是在XCode8中,这里的开关必须要打开,不然会报错: Error...completionHandler(); // 系统要求执行这个方法 } 需要注意的: 1.下面这个代理方法,只会是app处于前台状态 前台状态 and 前台状态下才会走,后台模式下是不会走这里的 -...UNNotificationPresentationOptions))completionHandler 2.下面这个代理方法,只会是用户点击消息才会触发,如果使用户长按(3DTouch)、弹出Action页面等并不会触发...,多出部分省略号 body| NSString |通知栏出现时,限制在两行,多出部分省略号;预览时,全部展示 **注意点: **body中printf风格的转义字符,比如说要包含%,需要写成%% 才会显示

    2.7K40
    领券