无法使用 Xcode 7.2 归档带有 RestKit v0.10.3 的 iOS 5.0 时代项目

Posted

技术标签:

【中文标题】无法使用 Xcode 7.2 归档带有 RestKit v0.10.3 的 iOS 5.0 时代项目【英文标题】:Cannot archive an iOS 5.0 era project with RestKit v0.10.3 using Xcode 7.2 【发布时间】:2016-01-07 07:22:16 【问题描述】:

我有一个 ios 5.0 时代的旧 iOS 项目。我需要使用最新的 iOS SDK 将其归档并提交到 App Store。

它由一个使用 RestKit 作为子子项目的.pbxproj 主项目组成。那个时代没有使用 Cocoapods 和RestKit is being included as git submodule。

在 Xcode 7.2 下,它构建和运行都非常好,但是在归档时,它一直提示如下错误消息:

#import <RestKit/RestKit.h> 失败

我已经搜索过 RestKit 的旧文档并尝试使用 the suggested method,但仍然不适合我。

不知道是不是Header Search Paths在构建设置里设置错了,原来是"$(BUILT_PRODUCTS_DIR)/../../Headers"

附:我不想升级 RestKit 版本。最低支持 iOS 版本应为 iOS 7。

【问题讨论】:

是的,您很可能需要更改发布标头路径 【参考方案1】:

请尝试使用 5.0 或更早版本的旧 Xcode 进行归档。由于 Xcode 7.2 不支持 5.

【讨论】:

我的机器上没有安装这么旧版本的 Xcode。 ***.com/questions/10335747/… 使用以上链接下载旧版本 它仍然没有解决我的问题,因为我需要使用最新的 SDK 编译和构建它并提交到 App Store。 好的,您使用的是支持 ios 8.0 或更高版本的最新 rest kit 版本吗?【参考方案2】:

我终于设法通过在Release 构建配置中设置所有xcodeprojs(沿着链,包括父和子)中的目标Header Search Paths 来解决我的问题。我已将值设置为"$BUILT_PRODUCTS_DIR/../../IntermediateBuildFilesPath/Headers"。我发现在归档阶段,RestKit 头文件被复制到IntermediateBuildFilesPath/Headers

【讨论】:

有人知道IntermediateBuildFilesPath是不是新加的吗?从哪个 Xcode 版本 IntermediateBuildFilesPath 被合并?

以上是关于无法使用 Xcode 7.2 归档带有 RestKit v0.10.3 的 iOS 5.0 时代项目的主要内容,如果未能解决你的问题,请参考以下文章

Google Admob 无法使用 Objective C 的 Xcode 7.2

无法使用可可豆荚归档 xcode 中的构建

MobileFirst Platform CLI 无法使用 JSON 存储构建 xcode 7.2 项目

ios watchkit 应用程序无法使用 Xcode 7.2 安装到 iwatch

使用 Xcode10.1 归档应用程序自动自动签名无法解决“”目标的权利问题

xcode 7.2仪器无法选择目标(设备灰色)