如何只为设备制作cocoapods?

时间:2016-01-15 12:26:30

标签: ios cocoapods podspec

我试图从我的C:\Users\elqstux\Desktop>node -v v5.3.0 项目中创建一个可可豆荚。该项目无意支持iOS模拟器,仅支持设备。它甚至不能为模拟器编译。它成为一个问题,因为cocoapods尝试(至少我认为如此)为模拟器构建它并失败。 当我运行以下命令时:

Cocoa Touch Framework

它失败了,输出部分如下:

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.

让我觉得cocoapods正在尝试为模拟器编译我的项目。所以我需要以某种方式排除它。我需要让它知道它应该只为设备编译。我尝试的是将以下内容添加到我的.podspec文件中:

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 个答案:

答案 0 :(得分:0)

这可能与 VALID_ARCHS 在 Xcode 12 中被弃用且需要 EXCLUDED_ARCHS 的问题相同或相似。

s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }