2014-04-07 1 views
2

따라서 this article을보고 나면 대형 cocoapod를 사용하여 대형 앱을 모듈화 할 수있는 것 같습니다. 하지만 문제가 생겼습니다 : 다중 개발자간에 개인 코코아 포드를 사용하고 생성하는 방법은 무엇입니까? 다음과 같이 직접 포드로 사용 자식 소스 :멀티 프라이빗 코코아포를 사용하여 대형 프로젝트를 구성

현재, 내가 가장 간단한 솔루션을 사용

pod 'HBToolkit', :git => 'ssh://private-domain.com/ios/hbtoolkit.git' 
pod 'HBBussiness', :git => 'ssh://private-domain.com/ios/hbbussiness.git' 
pod 'HBAPI', :git => 'ssh://private-domain.com/ios/hbpapi.git' 

정말 매우 편리하지만 나쁜 일이 종속성을 처리 할 수있다. moduleA가 moduleB와 moduleC에 의존한다고 가정하면 직접 소스 코드가있는 개인 포드는 cocoapods에서 지원되지 않으므로 XXX.podspec에 식별자를 지정할 방법이 없습니다.

종속성을 해결하려면 steps provided by the site을 따라야합니다. 다소 복잡합니다.

platform :ios, '6.0' 

# networking, slider navigation, routing 
pod 'AFNetworking', '~> 1.2.1' 
pod 'ViewDeck', '~> 2.2.11' 
pod 'JLRoutes', '~> 1.2' 

# sub-apps, pulling from the head of each repo for development. alternately, we can pin it to a release version like we do the other pods 
pod 'HSAPIClient', :head 
pod 'HSCommonResources', :head 
pod 'HSMarketingGraderApp', :head 
pod 'HSContactsApp', :head 
pod 'HSDashboardApp', :head 
pod 'HSLoginApp', :head 
pod 'HSSocialApp', :head 
pod 'HSSourcesApp', :head 
pod 'HSSettingsApp', :head 
pod 'HSSocialReach', :head 
pod 'HSEmailApp', :head 

PS : 제공되는 기사와 같은 효과를 얻을하는 방법 그래서

멀티 개발자 수석, 내가 최종 응용 프로그램에 결과를보고 싶다면, 나는이 과정을 어떻게해야합니까 :

아무것도 빨강, 잘못되면
  • 커밋 최종 응용 프로그램에
  • 자식 서버에 실행 pod update를 밀어 moduleN에
    1. 편집 소스는 결과를 볼 수 있습니다 그 과정?
  • 답변

    1

    는 당신이이 문서에 언급 달성하기 위해 : 당신은 당신이 사용할 수있는 일단

    • 설정 개인 PodSpecs 저장소 (CocoaPods 사이트의 안내에 따라)

    • pod '<pod name>', :head

    • 분명히 코드가 작동하는지 확인하기 전에 코드를 푸시하지 않으려면 목적으로

    당신은 예를 들어, 각 포드에 대한 podfile에 두 줄이 있어야합니다

    #uncomment this line before pushing 
    #pod 'HBToolkit' 
    #use this line for local development(path to podspecs from your working copy of pod project) 
    pod 'HBToolkit', :path => '../HBToolkit.podspec' 
    

    당신은 당신이 두 번째 라인 andu 주석을 제거해야 그것을 사용하는 프로젝트에있는 동안 HBToolkit의 지역 개발을 할 때마다 실행 pod install. 일단 끝나면. HBToolkit 변경 사항을 푸시합니다. 두 번째 줄을 주석 처리하고 첫 번째 주석의 주석을 제거한 후 pod install을 실행하십시오. 이제 동일한 변경 사항이 있지만 이제는 repo에서 가져 왔습니다.

    관련 문제