2017-10-26 8 views
1

하위 영역으로 'AAnalytics'가있는 APod 포드를 만들려고합니다. ''AAnalytics '에는 FirebaseNewRelic과 같은 여러 종속성이 있습니다. AAnalytics에서브리징 헤더가있는 창 만들기

Pod::Spec.new do |s| 
    s.name    = 'APod' 
    s.version   = '0.3.5' 
    s.summary   = 'summary' 
    s.ios.deployment_target = '9.0' 
    s.tvos.deployment_target = '9.0' 
    s.watchos.deployment_target = '2.0' 
    s.static_framework = true 
    s.source_files = 'APod/Classes/*' 

    #### SubspeC#### 
    s.subspec 'AAnalytics' do |ss| 
    ss.pod_target_xcconfig = { 'DEFINES_MODULE' => 'Yes' } 
    ss.source_files = 'Classes/AAnalytics/*' 
    ss.dependency 'NewRelicAgent', '~> 5.15.0' 
    ss.dependency 'Analytics', '~> 3.6.0' 
    ss.dependency 'Segment-Adjust', '~> 1.1.3' 
    ss.dependency 'FBSDKCoreKit', '~> 4.27.1' 
    ss.dependency 'Firebase/Core', '~> 4.4.0' 
    end 
end 

, 그것은 의존 포드의 래퍼 메소드가 하나의 클래스 만 AAnalytics.swift이있다 : 여기처럼 podspec 보이는 방법입니다. NewRelicAgent을 제외한 모든 것이 정상적으로 작동합니다. Analytics.swiftNewRelicAgent을 가져오고 사용할 수 없습니다. 그러나 브리징 헤더가있는 메인 프로젝트에 NewRelicAgent을 사용할 수 있습니다.

잠시 후 Xcode에서 NewRelicAgent의 module.modulemap 파일을 만들지 않았거나 해당 파일을 NewRelicAgent 포드에 포함시켜야합니다.

enter image description here

위에서 보듯이

, FirebaseAnalytics는`모듈/module.modulemap '를 가지고있다.

enter image description here

그러나 NewRelicAgent 경로와 파일이 없습니다.

나는 article을 읽었으며, DEFINES_MODULE = Yes 인 경우 Xcode가 module.modulemap 파일을 만들고 프레임 워크와 이름이 같은 우산 헤더가있는 것 같습니다.

무엇이 없습니까? NewRelicAgentAAnalytics.swift에서 사용하려면 어떻게해야합니까? 나는 cocoapods 1.4.1 beta 2을 사용하고 있습니다.

답변

1

Xcode는 이진 프레임 워크 용으로 module.modulemap 파일을 생성하지 않습니다. NewRelicAgent은 모듈 맵을 포함하지 않는 vendored_framework binary CocoaPod입니다. 다른 CocoaPod에는 프레임 워크 내에 module.modulemap이 있습니다.

find . | grep module.modulemap을 수행하면 프로젝트에 공개 API가있는 다른 이진 CocoaPod가 Modules/module.modulemap 파일을 포함하고 있음을 알 수 있습니다.

+0

그래서 이런 식으로 사용할 방법이 없습니까? – Ryan

+0

포드 install '이다'후, 당신은 바로 콘텐츠와 포드/NewRelicAgent/NewRelicAgent/NewRelicAgent.framework/모듈/module.modulemap를 추가 할 수 있습니다 –