2013-08-29 3 views
3

내 프로젝트의 배포 대상으로 iOS 4.3이 있습니다.Cocoapods가 배포 대상이 다른 포드를 혼합합니다.

모든 내 pod 라이브러리는 4.3을 지원하지만 iOS 4.3 디바이스에서 해당 클래스를 사용하지 않도록주의하면서 포함시키고 자하는 패키지도 지원합니다.

NBUCore와 일반 libPods.aPEPhotoCropEditor로 새로운 libPods-MyApp.a를 생성
platform :ios, '4.3' 
pod 'NBUCore' 

target :MyApp do 
    platform :ios, '5.0' 
    pod 'PEPhotoCropEditor' 
end 

, 모두 제대로 MyApp를 연결 :

나는 다음과 같이 내 Podfile에 target 옵션을 사용했습니다.

문제는 두 .xcconfig 파일, Pods.xcconfigPods-MyApp.xcconfig하지만 그들 중 하나가 Cocoapods에 의해 활성화됩니다이 있다는 것입니다 각 불완전한 OTHER_LDFLAGS을 가지고 있기 때문에, 따라서 연결이 실패합니다.

나는 모두 target :test, :exclusive => truefalse으로 시도했습니다.

물론 수동으로 수정할 수도 있습니다. 둘 다 사용하거나 $(inherited) 플래그를 추가하십시오. 하지만 그때 Cocoapods가 처리해야합니다. 아니면 내 Podfile 구문이 잘못 되었나요?

편집 : 포드와 포드 - MyApp의 "포드 자원 복사"도 병합해야한다는 사실이 드러납니다.

답변

1

그것은 현재 Cocoapods (문제 here를 출원) 불가능하지. 지금

용액을 전개 대상으로 포드를 분리하는 것이다

platform :ios, '4.3' 
pod 'NBUCore' 

target :MyApp do 
    platform :ios, '5.0' 
    pod 'PEPhotoCropEditor' 
end 

그러자 .xcconfig 파일 "병합".

마지막으로 "복사 포드 리소스"에 모든 자원 '스크립트를 추가 :

"${SRCROOT}/Pods/Pods-resources.sh" 
"${SRCROOT}/Pods/Pods-MyApp-resources.sh" 
0

나는 당신이 원하는 것을 할 수 있다고 생각하지 않습니다. 그러나 PEPhotoCropEditor's Podfile을 프로젝트에 복사하고 s.ios.deployment_target = '5.0's.ios.deployment_target = '4.3'으로 변경할 수 있습니다.

당신의 Podfile에서 다음

, 대신

pod 'PEPhotoCropEditor' 

pod 'PEPhotoCropEditor', :path => "CustomPodspec.podspec" 
+0

그러나 일부 포드 종속성은 여전히 ​​iOS5 버전 일 수 있습니다. 또한 Podfile 플랫폼을''5.0 ''으로 바꿀 수 있었고 iOS 4.x 프로젝트에서 조심해서 계속 사용할 수 있었지만 의존성이 해결되면 다른 문제가 발생할 수 있습니다. – Rivera

관련 문제