2017-01-05 9 views
1
  • MyLib 용 podspec이 있습니다.
  • MyLib.xcworkspace에는 MyLib 대상과 MySubLib 대상의 두 가지 대상이 있습니다.
  • MyLib은 MySubLib에 따라 다릅니다.
  • MyLib과 MySubLib는 모두 MyLib 코코아 포드를 사용하여 신속한 모듈에서 import이 가능해야합니다.

그림 :로컬 종속성이있는 여러 대상으로 podspec 만들기

MyLib.xcworkspace

  • MYLIB 대상 < --- MySubLib ---에 따라
    • MYLIB 포드 종속성
  • MySubLib 대상

어떻게 처리할까요?

다음 podspec이 있지만 linting 할 때 MyLib에 import이있는 곳에서 MySubLib을 찾을 수 없습니다.

Pod::Spec.new do |s| 
    s.name    = "MyLib" 
    s.version   = "0.1" 
    s.summary   = "" 

    s.description  = <<-DESC 

         DESC 

    s.homepage   = "https://github.com/me/MyLib" 
    s.license   = 'MIT' 
    s.author   = { "me" => "[email protected]" } 
    s.source   = { :git => "https://github.com/me/MyLib.git", :tag => s.version.to_s } 

    s.platform  = :ios, '8.0' 
    s.requires_arc = true 

    s.dependency 'Alamofire' 

    s.source_files = 'MyLib/**/*.swift', 'MySubLib/**/*.swift' 
    s.resource_bundles = { 
    } 

end 

답변

0

subspec을 사용할 수 있습니다. 내 프레임 워크 L10n-swift에서 사용합니다.

라이브러리는 다른 라이브러리, 다른 라이브러리의 하위 스페 이스 또는 자체의 하위 스페시에 대한 종속성을 지정할 수 있습니다.

또한 default_subspec

선호 종속성으로 사용되어야한다 subspecs 이름의 배열을 정의 할 수 있습니다 문제

Pod::Spec.new do |s| 
    s.name    = "MyLib" 
    s.version   = "0.1" 
    s.summary   = "" 

    s.description  = <<-DESC 

    DESC 

    s.homepage   = "https://github.com/me/MyLib" 
    s.license   = 'MIT' 
    s.author   = { "me" => "[email protected]" } 
    s.source   = { :git => "https://github.com/me/MyLib.git", :tag => s.version.to_s } 

    s.platform  = :ios, '8.0' 
    s.requires_arc = true 

    s.subspec 'MySubLib' do |mySubLib| 
     mySubLib.dependency 'Alamofire' 
     mySubLib.source_files = 'MySubLib/**/*.swift' 
    end 

    s.subspec 'MyLib' do |myLib| 
     myLib.dependency 'MyLib/MySubLib' 
     myLib.source_files = 'MyLib/**/*.swift' 
    end 

    s.resource_bundles = { } 
end 

로 돌아 간다. 지정하지 않으면 사양에 해당하는 개의 하위 항목이 모두 종속되어야합니다.

+0

'MySubLib' subspec이 종속성으로 사용 된 것처럼 보이지 않습니다. 또한, 왜 'MyLib'에 자체 하위 스펙이 필요한가? –

+1

@ Awesome-o Ohh 죄송합니다, 실수를했습니다. 물론, 'MyLib'자체에 의존해서는 안되며, 'MySubLib'에서 의존해야합니다. 나는 나의 대답을 업데이트했다 –

+0

나는 이것이 관련있는 일에 대해 현재 연구하고 있지 않다. 그러나 내가 가까운 장래에 그것에 관해서 생각해 볼 때 나는 이것을 시험 할 것이고 그것이 작동한다면 대답으로 표시 할 것이다. –