My Swift 4应用程序在除Generic iOS Device
之外的所有模拟器上重建并成功运行。如果我尝试将其归档或在Generic iOS Device
上进行重建,则会出现与我的某个pod框架相关的No such module
错误。
我尝试将框架添加到Linked Frameworks and Libraries
,并删除了错误,但随后在下一个pod框架上失败,依此类推。我在Framework Search Paths
尝试了各种路径而没有运气。
目前,该值设置为:
我甚至尝试删除工作区,pod锁文件和pods文件夹,然后我做了pod install
来重建所有内容。同样,它在任何模拟器上重建清洁,除了通用模拟器。在通用的一个上,我得到了pod框架的所有import语句的No such module
。
任何建议都表示赞赏,因为这个问题让我完全陷入困境,因为我无法获得释放。
答案 0 :(得分:15)
对我来说,修复它的是从我的Podfile中删除一行并重新运行pod install
。
platform :ios, '11.0'
我认为pod的版本与我的目标版本不一致,导致了这个问题。
答案 1 :(得分:4)
我能够解决在Podfile中编辑ios版本行以匹配Info中的项目目标版本(在本例中为10.0)的问题。
#Podfile
platform :ios, '10.0'
最后我必须跑步
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:
XCode->目标->我的应用->常规:
将iOS从10.0切换到11.0,然后一切正常运行。
答案 8 :(得分:0)
似乎通过双击 Runner.xcworkspace
而不是 Runner.xcodeproj
打开项目,xcode 终于可以找出所有内容的位置。即使您仍然可以通过 .xcodeproj
文件在模拟器和连接的手机上进行调试...
它会修复它似乎很奇怪。但我很高兴现在有一个存档版本。
答案 9 :(得分:0)
还有一个类似同样错误的情况。当您有一个带有最小 iOS 10(任何 iOS 设备 arm64、arm7)的嵌入式框架项目,而我正在使用 Xcode 12.5.1 中的最小部署版本 iOS 11(任何 iOS 设备 amr64)归档项目的构建时。
我必须将 Embedded Framework 项目的最小部署版本更改为 iOS 11(任何 iOS 设备 amr64)以匹配我项目的部署版本。