Создание приватных кокоаподов со статическими библиотеками

Я попытался создать новую частную библиотеку Cocoapods, которая включает статическую библиотеку (предоставленную внешним поставщиком). Статическая библиотека состоит из двух типов файлов: XX-libs-simulator.a и XX-libs.a.

Когда я бегу

"pod spec lint . --verbose --use-libraries"

я получил

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **

The following build commands failed:
    Ld /Users/damien/Library/Developer/Xcode/DerivedData/App-fvzzowxkmpidjrgpraveufngzgnl/Build/Intermediates/App.build/Release-iphonesimulator/App.build/Objects-normal/x86_64/App normal x86_64
(1 failure)
 -> MyOwnLibrary (1.0.1)
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code.
    - NOTE  | [iOS] xcodebuild:  ld: warning: ignoring file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXX-1.1.5.a, missing required architecture i386 in file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXX-1.1.5.a (2 slices)
    - NOTE  | [iOS] xcodebuild:  ld: warning: ignoring file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXXB-2.11.1.a, missing required architecture i386 in file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXXB-2.11.1.a (2 slices)
    - NOTE  | [iOS] xcodebuild:  ld: warning: ignoring file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXX-1.1.5.a, missing required architecture x86_64 in file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXX-1.1.5.a (2 slices)
    - NOTE  | [iOS] xcodebuild:  ld: warning: ignoring file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXXB-2.11.1.a, missing required architecture x86_64 in file MyOwnLibrary/MyOwnLibrary/ExternalLibs/XX-libs/libXXB-2.11.1.a (2 slices)
    - NOTE  | [iOS] xcodebuild:  clang: error: linker command failed with exit code 1 (use -v to see invocation)

Analyzed 1 podspec.

Когда я компилирую его с помощью своего Xcode, у меня нет проблем. Я уже пытался изменить следующие значения:

  • "ДЕЙСТВУЮЩИЕ АРХИТЕКТУРЫ": armv7, arm64 и x86_64, i386

  • «СОЗДАТЬ ТОЛЬКО АКТИВНЫЕ АРХИТЕКТУРЫ»: оба варианта (да/нет)

К вашему сведению, вывод липо для внешних библиотек:

lipo -info libXX.a
libXX.a are: armv7 arm64 

lipo -info libXX-simulator.a
libXX-simulator.a are i386 x86_64 

Как заставить модуль скомпилировать мою библиотеку, например XCode?


person tryp    schedule 17.05.2016    source источник


Ответы (1)


У меня не было ответа на мой вопрос, но чтобы избежать этой проблемы, я решил создать свою собственную библиотеку без кокоаподов. Я думаю, что когда вам нужна определенная конфигурация, это, вероятно, самый простой и лучший способ сделать это вручную, используя методы старой школы.

person tryp    schedule 19.05.2016