Как сделать Cocopods сборкой только для устройства?

Я пытаюсь создать стручок какао из своего проекта Cocoa Touch Framework. Проект не предназначен для поддержки симулятора iOS, только для устройств. Он даже не компилируется для симулятора. И это становится проблемой, потому что Cocopods пытается (по крайней мере, я так думаю) построить его для симулятора и терпит неудачу. Когда я запускаю следующую команду:

pod spec lint --verbose

он терпит неудачу, и часть вывода следующая:

The following build commands failed:
CompileC /var/folders/_w/9b4kyb8x2lzb9hvpn94jtrh00000gp/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/jsoncpp.build/Objects-normal/i386/jsoncpp.o jsoncpp/dist/jsoncpp.cpp normal i386 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
-> RevSDK (0.1.0)
- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code.
- NOTE  | xcodebuild:  Headers/Public/RevSDK/time.h:62:10: fatal error: 'base/base_export.h' file not found

Analyzed 1 podspec.

[!] The spec did not pass validation, due to 1 error.

Я не очень хорошо понимаю, как проходит весь процесс и что именно не так, но эта строка в выводе:

CompileC /var/folders/_w/9b4kyb8x2lzb9hvpn94jtrh00000gp/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/jsoncpp.build/Objects-normal/i386/jsoncpp.o jsoncpp/dist/jsoncpp.cpp normal i386 c++ com.apple.compilers.llvm.clang.1_0.compiler

наводит меня на мысль, чтоcocopods пытается скомпилировать мой проект для симулятора. Значит надо как-то исключить. Мне нужно, чтобы он знал, что он должен компилироваться только для устройства. Я пытался добавить в свой файл .podspec следующее:

s.xcconfig     = {
'VALID_ARCHS' => ['armv7', 'armv7s', 'arm64']
}

но, к сожалению, это не произвело никакого эффекта. И я буквально не знаю, что делать. Может кто-нибудь мне помочь?


person Andrey Chernukha    schedule 15.01.2016    source источник
comment
Вы нашли решение?   -  person Rémy Virin    schedule 10.08.2016
comment
Привет, ты нашел решение для этого?   -  person Adi    schedule 02.12.2016
comment
@ Ади нет, я не   -  person Andrey Chernukha    schedule 02.12.2016


Ответы (1)


Вероятно, это та же или похожая проблема, связанная с тем, что VALID_ARCHS устарел в Xcode 12 и необходим EXCLUDED_ARCHS.

s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
person Dipesh    schedule 30.12.2020