Я получаю сообщение об ошибке при выполнении [[CBCentralManager alloc] initWithDelegate: собственная очередь: nil] - PullRequest
0 голосов
/ 04 июня 2019

Я решил разобраться с Bluetooth на IOS и сразу получил ошибку, которую не могу понять и не могу найти решения в интернете.

Комментируя код, я понял, что ошибка вызванаэта строка: "centralManager = [[CBCentralManager alloc] initWithDelegate: собственная очередь: nil];"

BT.h:

#import <UIKit/UIKit.h>
#import <CoreBluetooth/CoreBluetooth.h>

@interface BT : UIViewController <CBCentralManagerDelegate, CBPeripheralDelegate>
{
    CBCentralManager *centralManager;
    CBPeripheral *discoveredPeripheral;
    NSMutableData *data;
}

@end

BT.мм:

#import "BT.h"

@implementation BT


-(id)init
{
    if (self = [super init])
    {
        centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
        data = [[NSMutableData alloc] init];
    }

    return self;
}

@end

Я получаю следующую ошибку компилятора: «Сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)»

Если вы закомментируете строку«centralManager = [[CBCentralManager alloc] initWithDelegate: self queue: nil];», проект будет компилироваться без ошибок.

ОБНОВЛЕНИЕ:

Я понял, что если выудалите armv7 из «Build Settings» -> «Valid Architecture», ошибка исчезнет, ​​но есть другая ошибка.Я думаю, что нецелесообразно удалять архитектуру armv7, поэтому нам нужно понять, где возникает первая ошибка.

Проблема решена

Необходимо добавить «CoreBluetooth».рамки "в проекте.

...