如果我错过了某些东西,但我没有收到任何记录输出,请道歉。
我从Cocoapods安装了XMPPFramework ..
这些是我为安装框架和设置Xcode(V 5.0.2)而采取的步骤。
1.Podfile:
platform :ios, '7.0'
pod 'XMPPFramework', '~> 3.6.3'
2.pod Install
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.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等是新的,所以如果有一些明显的东西我不知道,请告诉我。
有什么想法吗?
谢谢大家。
答案 0 :(得分:1)
如上所述[{3}},您可以使用此
重新登录宏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;
}