ifau
ifau

Reputation: 2120

GCDAsyncUdpSocket does not compile for iOS

I use this library: https://github.com/robbiehanson/CocoaAsyncSocket

There are examples for TCP on the iphone but not UDP. I think that everything should be just the same. Here is my code:

#import <UIKit/UIKit.h>
@class GCDAsyncUdpSocket;

@interface ThirdViewController : UIViewController
{
    GCDAsyncUdpSocket *udpSocket;
}

.m:

#import "ThirdViewController.h"
#import "DDLog.h"
#import "DDTTYLogger.h"
#import "GCDAsyncUdpSocket.h"

static const int ddLogLevel = LOG_LEVEL_VERBOSE;

@implementation ThirdViewController

- (void)viewDidLoad
{
    [DDLog addLogger:[DDTTYLogger sharedInstance]];
    udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
}

But when compiling I get the errors:

Undefined symbols for architecture i386: "_OBJC_CLASS_$_DDLog",

referenced from: objc-class-ref in ThirdViewController.o "_OBJC_CLASS_$_DDTTYLogger", referenced from: objc-class-ref in ThirdViewController.o "_OBJC_CLASS_$_GCDAsyncUdpSocket", referenced from: objc-class-ref in ThirdViewController.o ld: symbol(s) not found for architecture i386

What is wrong? Examples from the library compiled without errors.

Upvotes: 2

Views: 3908

Answers (2)

user2853404
user2853404

Reputation: 1

(Build Phases >> Link Binary With Libraries) Add CocoaLumberjack as optional dependency.

Upvotes: 0

Michal Zaborowski
Michal Zaborowski

Reputation: 5099

You have to link CFNetwork.framework or if have it you're propably working on Automatic Reference Counter, turon off ARC for GCDAsyncUdpSocket using -fno-objc-arc

Upvotes: 2

Related Questions