2014-10-16 2 views
8

종속성 주입 프레임 워크에 Typhoon 라이브러리를 사용하고 있습니다. 이 라이브러리를 설치하는 데 CocoaPod을 사용합니다. 내 포드 파일은 다음과 같습니다.스위프트 : Pod 파일의 라이브러리를 사용할 수 없습니다.

target "typhoon-swift-demo" do 
    pod 'Typhoon' 
end 

target "typhoon-swift-demoTests" do 

end 

작업 영역 프로젝트 파일을 열었을 때 성공적으로 설치되었습니다. 나는 태풍의 샘플 코드와 같은 코드의 그 줄을 입력 :

public class ApplicationAssembly: TyphoonAssembly { 

} 

내 어플은 다음과 같은 몇 가지 라인을 사용하려고 한 TyphoonAssembly을 인식하지 못하는 오류 사항 :

import Typhoon // not recogize typhoon 
import TyphoonAssembly // not regconize 

방법을 가르쳐주세요을 이 문제를 해결하십시오. 라이브러리를 사용하려면 먼저 무엇을 추가해야합니까? 고마워 :)

답변

10

당신은 Swift가 아닌 Objective-C를 사용하여 Pod 헤더 파일을 가져와야합니다. Swift와 함께 CocoaPod를 사용하려면 두 언어를 혼합해야합니다. 이 작업을 수행하는 방법은 Here's a great tutorial입니다.

+0

니스 : D 정말 고마워요 : D 시간을 나에게 금액을 비용 : 나는 기본적인 것을 배우기 전에 신속로 직접 이동하려면 D해서 : D – hqt

+0

저 하나가 저를 위해 작동하지 않았다. 이것은 더 좋았습니다 http://blog.ios-developers.io/parse-backend-with-swift/ – jonypz

3

Quark의 답변 외에도 The Typhoon Swift example은 Swift 및 CocoaPod와 함께 사용하기 위해 Typhoon을 설정하는 방법을 보여줍니다.

"응용 프로그램 스타일"테스트를 사용하는 경우 거의 모든 곳에서 기본값으로 사용됩니다. 테스트 대상은 이미 암시 적으로 주요 대상의 종속성을 갖게됩니다. 따라서 테스트 타겟은 독점적으로 선언되어야합니다. 예 :

platform :ios, '7.0' 

target :PocketForecast, :exclusive => true do 

    pod 'Typhoon', :head 

    pod 'CKUITools' 
    pod 'ICLoader' 
    pod 'NGAParallaxMotion' 
    pod 'NSURL+QueryDictionary' 
    pod 'OCLogTemplate' 
    pod 'PaperFold', :git => 'https://github.com/jasperblues/PaperFold-for-iOS.git', :tag => '1.2-no-gesture-recognizers' 

end 

target :PocketForecastTests do 
    pod 'Expecta', '~> 0.2.1' 
    pod 'OCHamcrest' 
    pod 'OCMockito' 
end 

inhibit_all_warnings! 

테스트 대상이 독점 선언되지 않으면 모든 응용 프로그램 라이브러리가 두 번 링크됩니다. 태풍의 경우 많은 인트로 스펙 션을 사용하므로 문제가 발생할 수 있습니다.

#import "Typhoon.h" 


태풍 스위프트 예 :


또한 포함하는 가교 헤더가 있다는 것을, 샘플 애플리케이션 참고

enter image description here

+0

thanks :) 프로젝트의 pod 파일을 읽었습니다.하지만 저자가 왜 그것을 쓰는지 이해할 수 없습니다. 이제는 명확하게 이해할 수 있습니다 : D 귀하의 라이브러리 + 데모는이 프레임 워크 라이브러리뿐만 아니라 iOS 프로그래밍을 배우려는 사람들에게도 좋습니다 :) – hqt

+0

:) Podfile에 위의 내용을 설명하는 주석을 추가하면 친절합니까? , 요청을 보냅니다. 우리가 그 설명을 포함시켜야하는 것처럼 보입니다. –

2

업데이트가 필요하다고 생각합니다. 최근에 Swift 애플리케이션을 개발하기 시작했으며, Java 백그라운드에서 시작하여 Spring과 같은 프레임 워크를 검색했습니다. 내가 찾은 최고의 것은 태풍입니다. 그러나 나는 초보자를위한 좋은 소개를 찾지 못했습니다. 그래서 그것을 시험해보기 위해 스크래치 프로젝트를 만들었습니다.

  1. 는 "use_frameworks와 기본 podfile 만들기
  2. cocoapods 설치 :

    나는에 의해 Typhoon 통합!, 제 어셈블리를 생성하고 PLIST 어셈블리에서

의 배열에 추가 내 PLIST 파일

  • 에 TyphoonInitialAssemblies "배열"like here
  • 는 포드 추가
  • 를 설치 라인 "

    import Typhoon 
    
    public class MyAssembly:TyphoonAssembly{} 
    

    매력처럼 작동합니다!

  • 1

    이 오류가 발생했습니다.

    나는 방법에 의해 고정 : => 제거 "플랫폼 : IOS, 'X.0'"

    use_frameworks! 대상 'LateManagement' 'SwiftyJSON' 끝 'Alamofire' 포드 포드를 할

    관련 문제