정적 라이브러리를 포함하는 포드를 만드는 방법은 무엇입니까?

쓰기

내 라이브러리를 CocoaPod로 사용하는 데 어려움을 겪고 있으며 올바른 방향을 알려주는 도움을 주시면 감사하겠습니다.

나는 전에 Pod를 만든 적이 없으며 이것이 작동하는 지점까지 모든 것을 가지고 있다고 느낍니다 ... 컴파일되지 않은 .h/ .m/ .swift파일 이있는 간단한 pod 라면 그러나 내 라이브러리에는 컴파일 된 .a파일이 있습니다 , 내 라이브러리에서 사용하는 정적 라이브러리입니다.

Xcode의 프로젝트는 Objective-C 라이브러리를 라이브러리로 컴파일하도록 설정되어 .a있습니다. 이 파일을 Xcode에서 컴파일하면 전혀 문제없이이 파일을 생성하지만 podspec을 린트하려고하면 연결하려는 정적 라이브러리와 관련된 것처럼 보이는 링커 오류가 발생합니다.

SQLConnect.podspec

#
# Be sure to run `pod lib lint NAME.podspec' to ensure this is a
# valid spec and remove all comments before submitting the spec.
#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
  s.name                = "SQLConnect"
  s.version             = "1.2.0"
  s.summary             = "Connects apps to SQL Server"
  s.description         = <<-DESC
                            A library for connecting Objective-C & Swift apps to SQL Server
                        DESC
  s.homepage            = "http://importblogkit.com"
  s.license             = 'MIT'
  s.authors             = { "Nick Griffith" => "[email protected]" }
  s.social_media_url    = 'https://twitter.com/importBlogKit'
  s.source              = { :git => "https://github.com/nhgrif/SQLConnect.git", :tag => s.version.to_s }

  s.platform                = :ios, '8.0'
  s.ios.deployment_target   = '8.0'
  s.requires_arc            = true
  s.public_header_files     = 'SQLConnect/*.h', 'SQLConnect/SQLSettings/*.h', 'SQLConnect/SQLControllers/*.h', 'SQLConnect/SQLConnection/*.h'
  s.source_files            = 'SQLConnect/**/*.{h,m}'
  s.preserve_paths          = 'SQLConnect/**/*.*'
  s.vendored_libraries      = 'SQLConnect/FreeTDS/libfreetds.a'
  s.xcconfig                = { 'HEADER_SEARCH_PATHS' => "${PODS_ROOT}/#{s.name}/SQLConnect/**" }
end

라이브러리를 하위 사양으로 만드는 것과 같은 다른 접근 방식도 시도했지만 아무것도 작동하지 않는 것 같습니다.

Xcode에서 잘 컴파일되지만 linter는 링커 오류를 제공합니다.

The following build commands failed:
    Ld /var/folders/yj/h_f7h7ws3zzfd__f847qys3m0000gn/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Pods-SQLConnect.build/Objects-normal/i386/SQLConnect normal i386
    Ld /var/folders/yj/h_f7h7ws3zzfd__f847qys3m0000gn/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Pods-SQLConnect.build/Objects-normal/x86_64/SQLConnect normal x86_64
(2 failures)
 -> SQLConnect (1.2.0)
    - ERROR | [iOS] Returned an unsuccessful exit code.
    - NOTE  |  clang: error: linker command failed with exit code 1 (use -v to see invocation)

Analyzed 1 podspec.

[!] The spec did not pass validation.

출력을 위로 스크롤하면 다음 오류를 찾을 수 있습니다.

Undefined symbols for architecture i386:
  "_iconv", referenced from:
      _tds_iconv_init in libfreetds.a(iconv.o)
      _tds_iconv in libfreetds.a(iconv.o)
      _skip_one_input_sequence in libfreetds.a(iconv.o)
      _tds_iconv_fread in libfreetds.a(iconv.o)
     (maybe you meant: _tds_iconv_close, _tds_iconv_get , _tds_iconv , _tds_iconv_alloc , _tds_iconv_free , _tds_iconv_from_collate , _tds_iconv_open , _tds_iconv_fread )
  "_iconv_close", referenced from:
      _tds_iconv_init in libfreetds.a(iconv.o)
      _tds_iconv in libfreetds.a(iconv.o)
      _skip_one_input_sequence in libfreetds.a(iconv.o)
      __iconv_close in libfreetds.a(iconv.o)
      _tds_set_iconv_name in libfreetds.a(iconv.o)
     (maybe you meant: _tds_iconv_close)
  "_iconv_open", referenced from:
      _tds_iconv_init in libfreetds.a(iconv.o)
      _tds_iconv_info_init in libfreetds.a(iconv.o)
      _tds_iconv in libfreetds.a(iconv.o)
      _skip_one_input_sequence in libfreetds.a(iconv.o)
      _tds_set_iconv_name in libfreetds.a(iconv.o)
     (maybe you meant: _tds_iconv_open)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Undefined symbols for architecture x86_64:
  "_iconv", referenced from:
      _tds_iconv_open in libfreetds.a(iconv.o)
      _tds_iconv in libfreetds.a(iconv.o)
      _tds_iconv_fread in libfreetds.a(iconv.o)
     (maybe you meant: _tds_iconv_close, _tds_iconv_get , _tds_iconv , _tds_iconv_alloc , _tds_iconv_free , _tds_iconv_from_collate , _tds_iconv_open , _tds_iconv_fread )
  "_iconv_close", referenced from:
      _tds_iconv_open in libfreetds.a(iconv.o)
      _tds_iconv_info_close in libfreetds.a(iconv.o)
      _tds_iconv in libfreetds.a(iconv.o)
      _tds_set_iconv_name in libfreetds.a(iconv.o)
     (maybe you meant: _tds_iconv_close)
  "_iconv_open", referenced from:
      _tds_iconv_open in libfreetds.a(iconv.o)
      _tds_iconv_info_init in libfreetds.a(iconv.o)
      _tds_iconv in libfreetds.a(iconv.o)
      _tds_set_iconv_name in libfreetds.a(iconv.o)
     (maybe you meant: _tds_iconv_open)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

이것은 프로젝트에 문제가 있음을 나타내는 것 같지만 문제 .a없이 컴파일 할 수 있습니다. 또한 원시 소스 파일 또는 결과 .a파일 (libFreeTDS.a뿐만 아니라 내 libSQLConnect.a)을 iOS 프로젝트로 드래그하여이 라이브러리를 사용했습니다 .

그렇다면이 작업을 포드로 만들려면 어떻게해야합니까?

라이브러리는 여기 Github 에서 찾을 수 있습니다 .

Pevasquez

libiconv와 연결해야하는 것 같습니다. 첨가:

s.libraries = 'iconv'

당신의 포드에 당신이 거기에 도착할 것입니다.

수정 사항과 함께 Github에서 풀 요청을 보냈습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

정적 라이브러리 xcode 프로젝트를 포함하도록 번들 xcode 프로젝트를 만드는 방법은 무엇입니까?

분류에서Dev

GitHub의 사용자 지정 라이브러리를 Android 앱에 포함하는 방법은 무엇입니까?

분류에서Dev

cmake를 사용하여 내 코드에 라이브러리를 포함하는 방법은 무엇입니까?

분류에서Dev

C 라이브러리에 C ++ 라이브러리를 포함하는 방법은 무엇입니까?

분류에서Dev

추가 라이브러리 디렉토리를 상대적으로 만드는 방법은 무엇입니까?

분류에서Dev

Emscripten으로 빌드 할 때 라이브러리 헤더를 포함하는 방법은 무엇입니까?

분류에서Dev

로드 경로에 공급 업체 라이브러리를 포함하는 방법은 무엇입니까?

분류에서Dev

Excel VBA 용 상수 라이브러리를 만드는 이상적인 방법은 무엇입니까?

분류에서Dev

네임 스페이스 정보를 포함하여 XML 요소를 만드는 방법은 무엇입니까?

분류에서Dev

모듈로 라이브러리를 만드는 방법은 무엇입니까?

분류에서Dev

Eclipse Paho MQTT C 클라이언트 용 정적 라이브러리를 얻는 방법은 무엇입니까?

분류에서Dev

Scala : 백틱 (세련된 라이브러리)이 포함 된 정규식과 함께`MatchesRegex` 세분화를 사용하는 방법은 무엇입니까?

분류에서Dev

Joomla에 적절한 방식으로 타사 라이브러리를 포함하는 방법은 무엇입니까?

분류에서Dev

C ++ 프로젝트에서 Swift 정적 라이브러리 (.a)를 사용하는 방법은 무엇입니까?

분류에서Dev

VS2019에서 OpenSSL 라이브러리를 정적으로 연결하는 방법은 무엇입니까?

분류에서Dev

Qt 5.2에서 정적 라이브러리를 사용하는 방법은 무엇입니까?

분류에서Dev

iOS 앱에서 C 정적 라이브러리를 사용하는 방법은 무엇입니까?

분류에서Dev

정적 라이브러리로 gcc를 컴파일하는 방법은 무엇입니까?

분류에서Dev

Codelite 11.0.0으로 정적 라이브러리를 컴파일하는 방법은 무엇입니까?

분류에서Dev

프레임 워크에 포함 된 View Controller를 iOS 용 정적 라이브러리로 여는 방법은 무엇입니까?

분류에서Dev

VBA 코드를 더 적은 포인트로 더 깔끔하게 만드는 방법은 무엇입니까?

분류에서Dev

CMAKE : 대체 라이브러리를 포함하고 연결하는 방법은 무엇입니까?

분류에서Dev

특정 Blender 빌드에 Python 라이브러리를 추가하는 방법은 무엇입니까?

분류에서Dev

coreutils의 정적 바이너리를 만드는 방법은 무엇입니까?

분류에서Dev

coreutils의 정적 바이너리를 만드는 방법은 무엇입니까?

분류에서Dev

구조를 포함하는 .h 파일을 정적 라이브러리에만 포함하는 방법

분류에서Dev

헤더와 함께 다른 NDK 프로젝트에서 빌드 된 정적 라이브러리를 추가하는 방법은 무엇입니까?

분류에서Dev

lib에 외부 라이브러리를 포함하는 방법은 무엇입니까?

분류에서Dev

C ++ 창에 타사 라이브러리를 포함하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    정적 라이브러리 xcode 프로젝트를 포함하도록 번들 xcode 프로젝트를 만드는 방법은 무엇입니까?

  2. 2

    GitHub의 사용자 지정 라이브러리를 Android 앱에 포함하는 방법은 무엇입니까?

  3. 3

    cmake를 사용하여 내 코드에 라이브러리를 포함하는 방법은 무엇입니까?

  4. 4

    C 라이브러리에 C ++ 라이브러리를 포함하는 방법은 무엇입니까?

  5. 5

    추가 라이브러리 디렉토리를 상대적으로 만드는 방법은 무엇입니까?

  6. 6

    Emscripten으로 빌드 할 때 라이브러리 헤더를 포함하는 방법은 무엇입니까?

  7. 7

    로드 경로에 공급 업체 라이브러리를 포함하는 방법은 무엇입니까?

  8. 8

    Excel VBA 용 상수 라이브러리를 만드는 이상적인 방법은 무엇입니까?

  9. 9

    네임 스페이스 정보를 포함하여 XML 요소를 만드는 방법은 무엇입니까?

  10. 10

    모듈로 라이브러리를 만드는 방법은 무엇입니까?

  11. 11

    Eclipse Paho MQTT C 클라이언트 용 정적 라이브러리를 얻는 방법은 무엇입니까?

  12. 12

    Scala : 백틱 (세련된 라이브러리)이 포함 된 정규식과 함께`MatchesRegex` 세분화를 사용하는 방법은 무엇입니까?

  13. 13

    Joomla에 적절한 방식으로 타사 라이브러리를 포함하는 방법은 무엇입니까?

  14. 14

    C ++ 프로젝트에서 Swift 정적 라이브러리 (.a)를 사용하는 방법은 무엇입니까?

  15. 15

    VS2019에서 OpenSSL 라이브러리를 정적으로 연결하는 방법은 무엇입니까?

  16. 16

    Qt 5.2에서 정적 라이브러리를 사용하는 방법은 무엇입니까?

  17. 17

    iOS 앱에서 C 정적 라이브러리를 사용하는 방법은 무엇입니까?

  18. 18

    정적 라이브러리로 gcc를 컴파일하는 방법은 무엇입니까?

  19. 19

    Codelite 11.0.0으로 정적 라이브러리를 컴파일하는 방법은 무엇입니까?

  20. 20

    프레임 워크에 포함 된 View Controller를 iOS 용 정적 라이브러리로 여는 방법은 무엇입니까?

  21. 21

    VBA 코드를 더 적은 포인트로 더 깔끔하게 만드는 방법은 무엇입니까?

  22. 22

    CMAKE : 대체 라이브러리를 포함하고 연결하는 방법은 무엇입니까?

  23. 23

    특정 Blender 빌드에 Python 라이브러리를 추가하는 방법은 무엇입니까?

  24. 24

    coreutils의 정적 바이너리를 만드는 방법은 무엇입니까?

  25. 25

    coreutils의 정적 바이너리를 만드는 방법은 무엇입니까?

  26. 26

    구조를 포함하는 .h 파일을 정적 라이브러리에만 포함하는 방법

  27. 27

    헤더와 함께 다른 NDK 프로젝트에서 빌드 된 정적 라이브러리를 추가하는 방법은 무엇입니까?

  28. 28

    lib에 외부 라이브러리를 포함하는 방법은 무엇입니까?

  29. 29

    C ++ 창에 타사 라이브러리를 포함하는 방법은 무엇입니까?

뜨겁다태그

보관