2017-08-31 1 views
3

Ich arbeite iOS 11 und XCode unterstützen 9. Wenn ich versuche, die Testsuite ausführen, erhalte ich einen Linker Fehler:Linker Fehler beim Testen: undefinierte Symbole für Architektur x86_64

Undefined symbols for architecture x86_64

"ConstantName", reference from: - [FileATest testMethod] in FileATest.o

In FileA.h

OBJC_EXTERN NSString *const ConstantName 

In FileA.m

NSString *const ConstantName = @"ConstantValue" 

In.210 Ich verwende die konstant und habe den Import

#import "FileA.h" 

eine statische Konstante in der Header-Datei verwenden zu funktionieren scheint, aber ich gelesen, dass es nicht der richtige Weg ist, eine Konstante zu deklarieren.

Es funktionierte gut mit XCode 8 und früheren Versionen, aber für XCode 9 Beta 6 tut es nicht. Hat jemand dieses Problem? Wie kann ich es beheben?

+0

Gehen Sie einfach zu Ihren Build-Einstellungen und suchen Sie nach einer gültigen Architektur und fügen Sie einfach x86_64 ihre ... –

+0

Ist nicht so einfach, eigentlich. – Fdiazreal

Antwort

2

Ich hatte das gleiche Problem beim Ausführen von Komponententests und die Lösung für mich war, gehen Sie an die App Target > Build Settings > Dead Code Stripping und setzen Sie es auf NEIN.

Hoffe, das hilft.

Verwandte Themen