"没有这样的模块"归档时出错

时间:2018-02-08 21:46:40

标签: ios xcode build frameworks

My Swift 4应用程序在除Generic iOS Device之外的所有模拟器上重建并成功运行。如果我尝试将其归档或在Generic iOS Device上进行重建,则会出现与我的某个pod框架相关的No such module错误。

我尝试将框架添加到Linked Frameworks and Libraries,并删除了错误,但随后在下一个pod框架上失败,依此类推。我在Framework Search Paths尝试了各种路径而没有运气。

目前,该值设置为:

enter image description here

我甚至尝试删除工作区,pod锁文件和pods文件夹,然后我做了pod install来重建所有内容。同样,它在任何模拟器上重建清洁,除了通用模拟器。在通用的一个上,我得到了pod框架的所有import语句的No such module

任何建议都表示赞赏,因为这个问题让我完全陷入困境,因为我无法获得释放。

10 个答案:

答案 0 :(得分:15)

对我来说,修复它的是从我的Podfile中删除一行并重新运行pod install

platform :ios, '11.0'

我认为pod的版本与我的目标版本不一致,导致了这个问题。

答案 1 :(得分:4)

我能够解决在Podfile中编辑ios版本行以匹配Info中的项目目标版本(在本例中为10.0)的问题。

  #Podfile
  platform :ios, '10.0'

enter image description here

最后我必须跑步

pod update

之后,我可以Archive选择Generic iOS Device我的项目

答案 2 :(得分:0)

首先构建你的项目command + b并查看框架是否为红色,当你看到右边栏时,如果是,xcode没有在指定的路径上找到你的文件,如果没有,建立和然后归档应该工作

答案 3 :(得分:0)

通过从头开始重新创建项目,我能够将其归档。我创建了一个新项目,使用相同的pod文件来安装pod库,然后从其他项目中复制所有内容。我现在能够将其存档并将其推送到商店。一定是腐败或流氓环境。

答案 4 :(得分:0)

最好通过转到 Build Settings 检查项目设置,找到 Framework Search Paths ,并添加$(SRCROOT)并确保它是递归的。

答案 5 :(得分:0)

在我的情况下,找不到的模块是动态Obj-C框架,其最小部署目标高于我的应用程序项目的最小部署目标。碰到我的最低版本即可解决,但您可以将其放到框架上。

答案 6 :(得分:0)

对于我来说,我在存档时在Xcode上选择了一个设备,选择通用iOS设备解决了我的问题。

答案 7 :(得分:0)

在归档应用程序时,我一直遇到“没有这样的模块”的问题。

我尝试了这个approved answer,但效果很好,但是我的Podifle中出现了一个新的警告。

所以我做了下面的事情,它没有任何警告地起作用。

Podfile:

enter image description here

XCode->目标->我的应用->常规:

enter image description here

将iOS从10.0切换到11.0,然后一切正常运行。

答案 8 :(得分:0)

似乎通过双击 Runner.xcworkspace 而不是 Runner.xcodeproj 打开项目,xcode 终于可以找出所有内容的位置。即使您仍然可以通过 .xcodeproj 文件在模拟器和连接的手机上进行调试...

它会修复它似乎很奇怪。但我很高兴现在有一个存档版本。

Check out this link for more info

答案 9 :(得分:0)

还有一个类似同样错误的情况。当您有一个带有最小 iOS 10(任何 iOS 设备 arm64、arm7)的嵌入式框架项目,而我正在使用 Xcode 12.5.1 中的最小部署版本 iOS 11(任何 iOS 设备 amr64)归档项目的构建时。

我必须将 Embedded Framework 项目的最小部署版本更改为 iOS 11(任何 iOS 设备 amr64)以匹配我项目的部署版本。