Ошибка компоновщика при тестировании: неопределенные символы для архитектуры x86_64

Я работаю над поддержкой iOS 11 и XCode 9. Когда я пытаюсь выполнить набор тестов, я получаю сообщение об ошибке компоновщика:

Неопределенные символы для архитектуры x86_64

ConstantName, ссылка из: - [FileATest testMethod] в FileATest.o

In FileA.h

OBJC_EXTERN NSString *const ConstantName

In FileA.m

NSString *const ConstantName = @"ConstantValue"

В FileATest.m я использую константу и имею импорт

#import "FileA.h"

Использование статической константы в файле заголовка, кажется, работает, но я читал, что это неправильный способ объявления константы.

Он отлично работал с XCode 8 и предыдущими версиями, но для XCode 9 Beta 6 это не так. У кого-нибудь была эта проблема? Как я могу это исправить?


person Fdiazreal    schedule 31.08.2017    source источник
comment
Просто зайдите в настройки сборки и найдите допустимую архитектуру и просто добавьте x86_64 их...   -  person Zღk    schedule 01.09.2017
comment
На самом деле не все так просто.   -  person Fdiazreal    schedule 15.09.2017


Ответы (1)


У меня была такая же проблема при запуске модульных тестов, и решение для меня состояло в том, чтобы перейти к App Target > Build Settings > Dead Code Stripping и установить для него значение NO.

Надеюсь это поможет.

person ebenkok    schedule 02.10.2017