2015-01-30 2 views
1

Swift 프로젝트에서 KIF를 참조하려고 할 때 간헐적으로 문제가 발생했습니다.빌드 실패 : 해당 모듈 없음 'KIF'

내 프로젝트는 내가 "깨끗한"을 한 후 컴파일을 중지하고, 나에게 오류주고있다 : KIF 내 cocoapods 파일 항목 여기 No such module 'KIF'

을 :

target 'MyProjectTests', :exclusive => true do 
    pod 'KIF', '~> 3.0', :configurations => ['Debug','QA'] 
end 

이 (이것은 권장됩니다 .

01,231,139,688 : KIF's readme에서 config (설정) cocoapods)

나는 위의 cocoapods 항목을 변경하여 다시 컴파일 얻을 수 있습니다

그러나 프로젝트 충돌 실행하려고 할 때 ... 다시 작동 KIF와 테스트, 내가 원래 설정으로 다시 전환하는 경우, 그 다음

dyld: Library not loaded: @rpath/XCTest.framework/XCTest 
    Referenced from: /Users/albertbori/Library/Developer/CoreSimulator/Devices/29008343-5A97-47FB-B0E6-66D18A331BDA/data/Containers/Bundle/Application/C0E16F80-9A08-4228-96F7-8A24F08AB066/MyProject.app/Frameworks/KIF.framework/KIF 
    Reason: image not found 

을하고 pod install

방법 해당 프레임 워크로 안정적인 구축 및 개발을 위해 KIF를 올바르게 참조 할 수 있습니까?

+0

KIF 용 POD 사양을 보면 FRAMEWORK_SEARCH_PATHS를 사용자 정의 값으로 덮어 쓰기 때문일 수 있습니다. 나는 XCTest를 포함한다고 생각하지 않는다. – kylef

+0

네, 저는 그것이 당신이'target 'MyProjectTests', : exclusive => true do' 조건을 사용하여 배포를하지 않기를 기대하기 때문에 그럴 것이라고 생각합니다. 나는 그 상태로 그 상태로 컴파일 할 수 없다. –

답변

0

을 CocoaPods 발행 추적기에 게시 한 후 kylef은 부주의로 인해 포드를 이중 연결한다는 것을 알게되었습니다.

여기 예제 프로젝트에서 문제를 해결하기 위해 his pull request입니다.

루트 프로젝트와 테스트 프로젝트를 모두 연결하려면 요약하면, Podfile은 다음과 비슷한 모습이 될 것입니다,하지만 조건부 테스트 대상에 추가 포드를 추가 :이 경우

source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, '8.0' 

use_frameworks! 

pod 'MBProgressHUD', '~> 0.8' 
pod 'Locksmith' 

target 'catch22Tests' do 
    pod 'KIF', '~> 3.0' 
end 

, 을 사용하지 않으려면 link_with 'catch22', 'catch22Tests'을 사용하거나 catch22Tests을 두 번 연결하십시오.

관련 문제