【问题标题】:No logging output from XMPPFramework, installed via cocoapodsXMPPFramework 没有日志输出,通过 cocoapods 安装
【发布时间】:2013-12-27 01:36:25
【问题描述】:

抱歉,如果我遗漏了什么,但我没有收到任何日志记录输出。

我从 Cocoapods 安装了 XMPPFramework..

这些是我安装框架和设置 Xcode (V 5.0.2) 所采取的步骤。

1.Podfile:

platform :ios, '7.0'
pod 'XMPPFramework', '~> 3.6.3'

2.pod安装

Output:

Analyzing dependencies
Downloading dependencies
Installing CocoaAsyncSocket (7.3.2)
Installing CocoaLumberjack (1.6.5.1)
Installing XMPPFramework (3.6.3)
Generating Pods project
Integrating client project

[!] From now on use `XMPPFramworkTemplate.xcworkspace`.
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.

3.AppDelegate.h

#import <DDLog.h>
#import <DDTTYLogger.h>
#import <DDASLLogger.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // Override point for customization after application launch.

        [DDLog addLogger:[DDASLLogger sharedInstance]];
        [DDLog addLogger:[DDTTYLogger sharedInstance]];
          return YES;
    }

4.ViewController.m

#import <XMPPFramework.h>
#import <DDLog.h>
#import <DDTTYLogger.h>
#import <DDASLLogger.h>

static const int ddLogLevel = LOG_LEVEL_VERBOSE;

@interface ViewController ()
@property (strong, nonatomic) XMPPStream *xmppStream;
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    //This works....
    DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

    //Testing
    [[self xmppStream] setMyJID:[ XMPPJID jidWithString:@"hidden@hidden.com"]];

    //Testing
    NSError *error = nil;
    [[self xmppStream] connectWithTimeout:XMPPStreamTimeoutNone error:&error];
}

...

5.控制台输出:

2013-12-07 12:54:46:449 XMPPFramworkTemplate[43458:70b] ViewController: viewDidLoad

所以日志记录在 ViewController 中工作,但它似乎没有从 XMPPFramework 输出任何内容。

XMPPLogSend 似乎没有触发。我在 sendOpeningNegotiation 中添加了一个断点,所以我期待

的输出
NSString *s1 = @"<?xml version='1.0'?>";

NSData *outgoingData = [s1 dataUsingEncoding:NSUTF8StringEncoding];

XMPPLogSend(@"SEND: %@", s1);
numberOfBytesSent += [outgoingData length];
.....

作为一个警告,我对objective-c / xcode等非常新手,所以如果有明显的我遗漏的东西,请告诉我。

有什么想法吗?

谢谢大家。

【问题讨论】:

    标签: ios objective-c xmpp xmppframework


    【解决方案1】:

    here on github 所述,您可以使用此功能重新登录宏XMPPLogSend

    #if DEBUG
        const int ddLogLevel = (LOG_LEVEL_VERBOSE | XMPP_LOG_FLAG_SEND);
    #else
        const int ddLogLevel = LOG_LEVEL_INFO;
    #endif
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        [DDLog addLogger:[DDTTYLogger sharedInstance] withLogLevel:ddLogLevel];
    
        return YES;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-10-10
      • 2022-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多