【问题标题】:Xcode cannot compile for older ArchitectureXcode 无法为旧架构编译
【发布时间】:2018-04-03 13:12:50
【问题描述】:

这发生在我更新我的 Xcode 以支持 iOS 11 之后,如果我将“构建活动架构”设置为“是”并为特定设备构建,它运行良好,但如果我尝试将“构建活动架构”设置为“否”或为通用 iOS 设备构建,它将创建错误“没有这样的模块...”。

这可以测试,但主要问题是要上传到应用商店的版本也需要支持 armv7 和 armv7s。

如果它影响我使用 Xcode 9.0.1(没有绝对原因,我执行更新时只是最新版本)。我使用的是当前最新版本的 9.2。

我正在使用 Cocoapods 安装外部框架。出现在“No such Module”错误中的那些包括 Alamofire、XlPagerTabStrips 和 ActionsheetPicker(我注意到的可能更多)当我更新 Xcode 时它们都更新到最新版本。

还有另一种情况,我的项目无法使用自动代码签名,这可能相关也可能不相关,但我只想提一下,如果它暗示了什么。

更新:
我已将我的项目转换为 Swift4,确认我的 cocoapods 是最新的,重新安装了 Swift4 的所有模块。同样的情况,如果我尝试编译包括旧架构,则会出现声称“没有此类模块...”的错误。

如果我尝试只为 arm64 和 armv7s 编译但不知何故 ipa 只支持 arm64,则错误不会显示。

【问题讨论】:

    标签: xcode macos compilation ios11 xcode9


    【解决方案1】:

    假设您获得了最新版本的Xcode 9.1 [2017 年 12 月 4 日],那么您也可以先开始将 CocoaPods 更新到最新版本,然后按照文档清除删除然后重新安装每个模块的最新版本:

    还请记住,某些模块需要一些特定设置才能使用 CocoaPods 集成到您的 Xcode 项目中。

    【讨论】:

    • 您是否也使用 Cocoapods 删除/清理删除并重新安装了每个模块的最后更新版本?
    • 这需要一些时间......但我想我也没有太多选择。我只进行了正常的 pod 更新。
    • 根据 Alamofire 的说法,构建 Alamofire 4.0+ 需要 CocoaPods 1.1+。您是否也将 CocoaPods 更新到了最新版本?
    • 看起来这些模块没有正确安装或迁移,或者模块设置不正确,无法集成到您的 Xcode 项目中(使用 CocoaPods)...
    • 我完全重新安装了每个模块,现在错误改变了......而不是“没有这样的模块......”它变成了“没有类型名称......”,这是不可能的,比如“不在模块“Alamofire”中输入名为“DataRequest”的类型”,例如 XD
    猜你喜欢
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    相关资源
    最近更新 更多