xcode >= 8 无法编译我的 Objective-C 库

Posted

技术标签:

【中文标题】xcode >= 8 无法编译我的 Objective-C 库【英文标题】:xcode >= 8 cannot compile my objective-c library 【发布时间】:2016-11-08 10:15:37 【问题描述】:

我正在尝试使用 Xcode(或 xcodebuild)编译我的 Objective-C 库,但似乎 Xcode 只使用了我的“Base SDK”(在我的情况下为 10.1)构建设置的最后两个数字:

xcodebuild   -scheme mylib   -workspace mylib_objc.xcworkspace -sdk "iphonesimulator10.1" build

输出错误:

    /bin/sh -c /Users/user/Library/Developer/Xcode/DerivedData/mylib_objc-dcainaehwbdhdeeyoykilqflodnx/Build/Intermediates/mylib.build/Debug-iphonesimulator/mylib.build/Script-AEDFEE9B1B25C0FD00756827.sh
XCode has selected SDK: iphonesimulator with version: 0.1 (although back-targetting: 7.0)
...therefore, OTHER_SDK_TO_BUILD = iphoneos0.1
RECURSION: I am the root ... recursing all missing build targets NOW...
RECURSION: ...about to invoke: xcodebuild -configuration "Debug" -project "mylib.xcodeproj" -target "mylib" -sdk "iphoneos0.1" build RUN_CLANG_STATIC_ANALYZER=NO BUILD_DIR="/Users/user/Library/Developer/Xcode/DerivedData/mylib_objc-dcainaehwbdhdeeyoykilqflodnx/Build/Products" BUILD_ROOT="/Users/user/Library/Developer/Xcode/DerivedData/mylib_objc-dcainaehwbdhdeeyoykilqflodnx/Build/Products" SYMROOT="/Users/user/Library/Developer/Xcode/DerivedData/mylib_objc-dcainaehwbdhdeeyoykilqflodnx/Build/Products"
xcodebuild: error: SDK "iphoneos0.1" cannot be located.
Command /bin/sh failed with exit code 64

然后我与一位拥有 xCode 8(因此 base sdk=10.0)的同事尝试,错误是 xcodebuild: error: SDK "iphoneos0.0" cannot be located.

知道如何强制编译吗?

【问题讨论】:

【参考方案1】:

您正在使用旧的构建脚本构建您的库。在这里查看我的答案

Build fat static library (device + simulator) using Xcode and SDK 4+

然后更新你的脚本应该没问题。

【讨论】:

以上是关于xcode >= 8 无法编译我的 Objective-C 库的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8 单元测试错误:无法确定 TEST_HOST 的包标识符

Xcode 8 beta 4:在物理设备上运行时“无法附加到 pid:1110”

无法编译 xcode 项目,因为缺少 info.plist

为啥编译我的 XCode 项目可以使用 Apple-(B)uild 并且无法使用 Apple-(U)nit 测试编译?

Xcode 编译我的应用程序,但无法在模拟器中运行它

无法使用 libpqxx 和 xcode4 (c++) 进行编译