大佬教程收集整理的这篇文章主要介绍了为什么Xcode 8(iOS 10)在控制台中打印[LogMessageLogging],大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
>资料来源:https://developer.apple.com/reference/os/1891852-logging
> WWDC视频:https://developer.apple.com/videos/play/wwdc2016/721/?time=714
示例(ObjC):
os_log_t log = os_log_create("com.example.my-subsystem","test"); const char *staticString = "I am static String!"; const char *dynamicString = [[NSString StringWithFormat:@"I am %@!",@"dynamic String"] cStringUsingEncoding:NSUTF8StringEncoding]; os_log(log,"message: %s",staticString); os_log(log,dynamicString); os_log(log,"message: %{public}s",dynamicString); // Output // [test] message: I am static String! // [test] message: <private> // [test] message: I am dynamic String!
示例(Swift):
目前在Swift(https://openradar.appspot.com/radar?id=6068967584038912)中记录字符串似乎已被破坏,因此我们需要手动将C函数桥接到Swift:
更新01.雷达28599032是修复程序,不适用于Xcode 10.
// File: os_log_rdar28599032.h #import <Foundation/Foundation.h> #import <os/log.h> void log_private(os_log_t,os_log_type_t,NSString *); void log_public(os_log_t,NSString *); // File: os_log_rdar28599032.m #import "os_log_rdar28599032.h" void log_private(os_log_t log,os_log_type_t type,NSString * messagE) { os_log_with_type(log,type,"%s",[message cStringUsingEncoding:NSUTF8StringEncoding]); } void log_public(os_log_t log,"%{public}s",[message cStringUsingEncoding:NSUTF8StringEncoding]); } // File: ViewController.swift import Cocoa import os.log import os.activity class ViewController: NSViewController { static let log = OSLog(subsystem: "com.example.my-subsystem",category: "test") typealias SelfClass = ViewController override func viewDidLoad() { super.viewDidLoad() log_private(SelfClass.log,.fault,"I am dynamic \("String")!") log_public(SelfClass.log,"I am dynamic \("String")!") log_private(SelfClass.log,#filE) log_public(SelfClass.log,#filE) } } // Output // [test] <private> // [test] I am dynamic String! // [test] <private> // [test] /[REDACTED]/ViewController.swift
以上是大佬教程为你收集整理的为什么Xcode 8(iOS 10)在控制台中打印[LogMessageLogging]全部内容,希望文章能够帮你解决为什么Xcode 8(iOS 10)在控制台中打印[LogMessageLogging]所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。