gpt4 book ai didi

xamarin.ios - MonoTouch,NSLog和TestFlightSdk

转载 作者:行者123 更新时间:2023-12-04 17:26:09 24 4
gpt4 key购买 nike

我正在尝试将TestFlightSdk集成到我使用MonoTouch制作的应用程序中。

我试图以一种由TestFlightSdk获取的方式在我的应用程序中实现日志记录。据称它会自动获取NSLog ged文本,但是我似乎找不到正确的代码组合来添加到用C#/MonoTouch编写的自己的应用程序中,这样做是一样的。

我尝试过的

  • Console.WriteLine("...");
  • Debug.WriteLine("...");(但是我认为这只是调用Console.WriteLine)
  • 实现对NSlog的支持,但是这使我的应用程序崩溃,因此显然我做错了什么(如果这是前进的方式,我会问一个新问题。)

  • MonoTouch内置有什么可以通过NSLog写入日志消息的东西,以便可以与TestFlightSdk一起使用?还是我必须为NSLog滚动自己的包装器?

    为了自己实现NSLog,我添加了以下内容:
    public static class Logger
    {
    [DllImport("/System/Library/Frameworks/Foundation.framework/Foundation")]
    private extern static void NSLog(string format, string arg1);

    public static void Log(string message)
    {
    NSLog("%s", message);
    }
    }

    (我从另一个SO问题 How to I bind to the iOS Foundations function NSLog中获得了上面的代码段。)

    但这会使我的应用程序崩溃,并出现SIGSEGV错误。

    最佳答案

    using System;
    using System.Runtime.InteropServices;
    using Foundation;

    public class Logger
    {
    [DllImport(ObjCRuntime.Constants.FoundationLibrary)]
    private extern static void NSLog(IntPtr message);

    public static void Log(string msg, params object[] args)
    {
    using (var nss = new NSString (string.Format (msg, args))) {
    NSLog(nss.Handle);
    }
    }
    }

    关于xamarin.ios - MonoTouch,NSLog和TestFlightSdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204160/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com