2013-12-09 55 views
3

道歉,如果我失去了我的东西,但我没有收到任何日志输出。从XMPPFramework没有日志输出,通过cocoapods安装

我从安装的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:@"[email protected]"]]; 

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

... 

5.Console输出:

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的等等,所以如果有什么明显的我失踪,请让我知道。

任何想法?

谢谢大家。

回答

1

如前所述here on github你可以得到使用此

#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; 
} 
回的日志记录宏 XMPPLogSend