Unity3D研究院专治IOS查看日志各种不服(九十五)

栏目: 编程语言 · 发布时间: 6年前

内容简介:测试拿着IOS手机过来说这里有个问题,能看看日志吗?Android上连上logcat可以很方便看日志,但是IOS就没办法。几年前我写过一篇文章通过写日志的方式保存在本地

测试拿着IOS手机过来说这里有个问题,能看看日志吗?

Android上连上logcat可以很方便看日志,但是IOS就没办法。几年前我写过一篇文章通过写日志的方式保存在本地

Unity3D研究院之IOS&Android收集Log文件(六十二)

后来ios把这个功能封了,无法用第三方 工具 把日志取出来,很奇怪的是有的手机可以有的手机又不行。还有个办法就是打开xcode,window->device and  Simulators 然后选择你的app 下载下来也可以查看里面的日志文件。

Unity3D研究院专治IOS查看日志各种不服(九十五)

最近我又发现了一个新方法,就是使用nslog来打日志,这样打的日志会发到控制台中, mac下 实用工具-》控制台-》

如图所示,只要是nslog打出来的日志,都可以直接在控制台中收到。这样就可以解决(测试拿着IOS手机过来说这里有个问题,能看看日志吗)的问题了 呵呵。

Unity3D研究院专治IOS查看日志各种不服(九十五)

然而unity的debug.log并不是走的nslog,我大概查了一下nslog效率不高,就是因为要给控制台发送日志,所以一般情况下最好不要用。

1.在Unity工程中Assets/Plugins/IOS/目录下写入代码 NativePlugin.mm

extern "C" {
   void Log(const char* log) {
        NSLog(@"Log:%s",log);
    }
}

2.在需要打log的地方写入(因为是测试代码所以我就放在了Application.logmessageRceived里,最好不要放在这里)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
 
public class NewBehaviourScript : MonoBehaviour {
 
 
 [DllImport("__Internal")]
 private static extern void Log(string a);
 
 void Awake()
 {
 Application.logMessageReceived += delegate(string condition, string stackTrace, LogType type) {
 Log(condition);
 };
 }
 
 void Start () {
 for (int i = 0; i < 10; i++)
 {
 Debug.Log ("不要xcode我也要能看日志");
 }
 }
}

总结:

1.代码中可是做一个开关,需要查看日志的时候打开这个开关,重要的日志都走nslog,否则debug.log

2.尤其sdk相关的代码,因为编辑器下不调好测试,必须真机调试。查看日志就很关键了。

3.lua的一些error报错,并不会引起闪退的错误日志

4.欢迎一起讨论。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法设计与实验题解

算法设计与实验题解

王晓东 / 电子工业 / 2006-9 / 46.00元

《算法设计与实验题解》是与普通高等教育“十一五”国家级规划教材《计算机算法设计与分析》(第2版)配套的辅助教材,对主教材中的全部习题做了解答或给出了解题思路提示,并对主教材的内容进行了扩展,有些主教材中无法讲述的较深入的主题以习题的形式展现出来。为了提高学生解决实际问题的能力,《算法设计与实验题解》还将主教材中的许多习题改造成算法实现题,要求学生设计出算法并上机实现。作者还结合精品课程建设,进行了......一起来看看 《算法设计与实验题解》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具