2014-06-24 3 views
3

저는 iPad와 시뮬레이터 모두에서 잘 돌아가는 Swift 앱을 가지고 있습니다. 이 프로젝트에는 시뮬레이터에서 제대로 실행되지만 iPad 또는 iPhone에서 실행되지 않는 테스트 대상도 있습니다. 내 XCTestCase에서iDevice에서 Swift XCTest 실행하기

Undefined symbols for architecture armv7: 
"__TFC17ExampleApp17ExampleObjectCfMS0_FT_S0_", referenced from: 
     __TFC22ExampleAppTests8ExampleTests5setUpfS0_FT_T_ in ExampleTests.o 
... 

, 내 주요 목표 수입하고 있습니다 :

import ExampleApp 

가 다시이 작동을 내가 어떤의 iDevice에서 테스트 할 때

, 내가 링커 오류가 말을 얻을 시뮬레이터는 아니지만 실제 장치는 아닙니다. 모든 것이 iOS 8을 타겟으로하고 있으며 최신 베타 버전입니다.

답변

0

정의되지 않은 기호 오류는 일반적으로 컴파일 할 때 코드가 연결되지 않아 발생합니다. 관련 .swift 파일이 모두 ExampleTests 대상과 ExampleApp 대상에 모두 포함되도록 표시되어 있는지 확인하십시오.

+0

아마도 그렇지 않습니다. 기본적으로 Swift (및 현재 ObjC)는 "응용 프로그램 스타일"테스트 (TEST_HOST 플래그가 설정 됨)를 사용합니다. 즉, 모든 주요 대상 클래스 및 라이브러리가 테스트 대상에 표시됩니다. 사실, 양쪽 모두로 임포트하면 네임 스페이스 오류가 생겨 클래스가 보이지 않게됩니다. . 그것은 실제로 반대 일 수 있습니까? –

+0

@ Jasper Blues - 신속한 가져 오기에 문제가 있지만 실제 개체 파일이 연결되어있는 것으로 의심됩니다. – gntskn