GCDAsyncUdpSocket не компилируется для iOS - PullRequest
2 голосов
/ 24 марта 2012

Я использую эту библиотеку: https://github.com/robbiehanson/CocoaAsyncSocket

Есть примеры для TCP на iphone, но не UDP.Я думаю, что все должно быть точно так же.Вот мой код:

#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()];
}

Но при компиляции я получаю ошибки:

Неопределенные символы для архитектуры i386: "_OBJC_CLASS _ $ _ DDLog ",

, на который ссылается: objc-class-ref в ThirdViewController.o" _OBJC_CLASS _ $ _ DDTTYLogger ", на который ссылаются на: objc-class-ref в ThirdViewController.o" _OBJC_CLASS _ _UСd ": _ $ _ _objc-class-ref в ThirdViewController.o ld: символ (ы) не найдены для архитектуры i386

Что не так?Примеры из библиотеки скомпилированы без ошибок.

Ответы [ 2 ]

2 голосов
/ 25 марта 2012

Вы должны связать CFNetwork.framework или, если он у вас работает, возможно, с автоматическим счетчиком ссылок, отключить ARC для GCDAsyncUdpSocket, используя -fno-objc-arc

0 голосов
/ 22 июля 2016

(Этапы сборки >> Связать двоичные файлы с библиотеками) Добавьте CocoaLumberjack в качестве необязательной зависимости.

...