gpt4 book ai didi

ios - 如何让 cocoapods 只为设备构建?

转载 作者:行者123 更新时间:2023-12-04 18:01:26 25 4
gpt4 key购买 nike

我正在尝试用我的 Cocoa Touch Framework 创建一个 cocoa pod 项目。该项目不打算支持 iOS 模拟器,只支持设备。它甚至不能为模拟器编译。这成为一个问题,因为 cocoapods 尝试(至少我认为是这样)为模拟器构建它并失败了。
当我运行以下命令时:

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

让我觉得 cocoapods 正在尝试为模拟器编译我的项目。所以我需要以某种方式排除它。我需要让它知道它应该只为设备编译。我尝试将以下内容添加到我的 .podspec 文件中:
s.xcconfig     = {
'VALID_ARCHS' => ['armv7', 'armv7s', 'arm64']
}

但不幸的是它没有产生任何效果。我真的不知道该怎么办。谁能帮我?

最佳答案

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

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

关于ios - 如何让 cocoapods 只为设备构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34811068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com