문제

정적 라이브러리를 생성할 메인 프로젝트가 있습니다. MySDK).구성요소가 있습니다. Analytics) 개인 코코아포드로.

그래서 나는 다음과 같은 파일 구조로 끝납니다.

+ MySDK
    - src
+ Pods
    + Pods
        - Analytics

각 프로젝트에는 자체 테스트가 있지만 이제 통합 테스트를 수행해야 하므로 Podfile에서 사용합니다. link_with, 하지만 이 작업을 수행할 때마다 여러 가지 오류가 발생하기 때문에 원래 테스트를 실행할 수도 없습니다. duplicate symbol 오류:

duplicate symbol _OBJC_METACLASS_$_PodsDummy_Pods in:
    /.../DerivedData/Build/Products/Release-iphonesimulator/libPods.a(Pods-dummy.o)
    /.../DerivedData/Build/Products/Release-iphonesimulator/libMySDK.a(Pods-dummy.o)
...
duplicate symbol _MYPREFIXFileTableIDColumnName in:
    /.../DerivedData/Build/Products/Release-iphonesimulator/libPods.a(MYPREFIXDatabaseConstants.o)
    /.../Build/Products/Release-iphonesimulator/libMySDK.a(MYPREFIXDatabaseConstants.o)

모든 오류는 내 것에서 비롯됩니다. Analytics 요소.문제를 일으키는 모든 파일에는 C 함수 (저는 sqlite를 직접 다루고 있습니다) 및/또는 (전역) 상수, 아니면 그들은 카테고리, 이지만 모두 접두사가 붙습니다.

나의 Podfile 다음과 같습니다:

platform :ios, '7.0'
link_with ['MySDK', 'MySDKTests']
pod 'Analytics', '0.0.1'

내 Podscpec Analytics 다음과 같습니다:

Pod::Spec.new do |s|
  s.name     = 'Analytics'
  s.version  = '0.0.1'
  s.platform = :ios
  s.summary  = "Analytics utility"
  s.homepage = 'http://google.com'
  s.author   = { 'Me' => 'me@me.com' }
  s.source   = { :git => 'https://github.com/Company/Analytics.git', :tag => '0.0.1' }
  s.source_files = 'Analytics/**/*.{h,m}'
  s.requires_arc = true
  s.ios.deployment_target = '6.0'
end

이러한 오류가 발생하는 이유가 있나요?이러한 파일을 non-arc로 컴파일해야 합니까, 아니면 특수 플래그를 사용해야 합니까?

어떤 아이디어라도

도움이 되었습니까?

해결책

드디어 작동하게 됐어요!

내 포드를 다음에 연결하지 말았어야 했어요 MySDKTests, 최종 제품 이후 (MySDK, 라이브러리는 이미 연결되어 있습니다. Analytics).

그러나 나는 내 항목에 다음을 추가했습니다. podspec 파일:

  s.public_header_files = 'Analytics/**/*.h'

  s.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(SRCROOT)/Pods/Headers/Analytics"' }

두 번째 줄은 내 내용을 수정하지 않기 때문에 실제로 필요하지 않습니다. MySDKTests 표적.꼭 추가해야 했어요 HEADER_SEARCH_PATHS 나에게 MyDSKTests 해당 헤더를 테스트에 사용할 수 있도록 합니다.

나는 어떤 사람들이 성공적으로 사용한다는 것을 읽었습니다. LIBRARY_SEARCH_PATHS 대신에 이것은 나에게 효과가 없었습니다.누군가가 이유를 설명하고 싶다면 좋을 것입니다. 그러나 지금은 다른 사람들이 비슷한 문제를 겪을 경우를 대비하여 여기에 내 솔루션을 남겨 두겠습니다.

보다 이 다른 질문 관련 정보를 위해

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top