"没有这样的模块" Xcode 8中的错误

时间:2016-12-31 15:13:11

标签: ios swift xcode8 carthage

我得到了#34;没有这样的模块"我的Swift项目中的Xcode 8.2.1中的编译错误。我使用Carthage有两个模块:Alamofire和Fuzi。 Carthage/Build/iOS目录与两个框架文件一起存在。 Build Settings/Framework Search Paths指向该目录。我在General/Embedded Binaries中嵌入了两个框架文件。我错过了什么?

2 个答案:

答案 0 :(得分:2)

你不应该嵌入图书馆;它们应该被添加到"通用/嵌入式二进制文件"下面的链接的框架和库。部分。确保将Carthage copy-frameworks脚本添加到Build Phases。

来自迦太基文件:

  

在应用目标的“常规”设置标签中,在“已关联”中   框架和库“部分,拖放每个框架   想要从磁盘上的Carthage / Build文件夹中使用。在你的   应用程序目标的“构建阶段”设置选项卡,单击“+”图标   并选择“新运行脚本阶段”。创建一个运行脚本   指定你的shell(例如:bin / sh),将以下内容添加到   shell下面的脚本区域:

/usr/local/bin/carthage copy-frameworks
     

并在“输入”下添加要使用的框架的路径   文件“,例如:

$(SRCROOT)/Carthage/Build/iOS/Box.framework
$(SRCROOT)/Carthage/Build/iOS/Result.framework
$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework
     

此脚本适用于由App触发的App Store提交错误   通用二进制文件并确保必要的bitcode相关文件   存档时会复制和复制dSYM。

答案 1 :(得分:0)

首先,检查迦太基是否安装在您的机器中,如终端

中的以下命令

carthage版本

如果您的机器中未安装carthage,请尝试以下操作。

Download the latest release of Carthage,然后双击 Carthage.pkg 以运行安装程序。单击“继续”,选择要安装到的位置,然后再次单击“继续”,最后单击“安装”。 然后你可以查看carthage版本。

如果您使用的是现有项目,请转到项目文件夹,如

cd~ / Path / To / Starter / Project

请尝试以下命令获取更新购物车文件

carthage update -platform iOS

安装/更新完成后,尝试以下命令

打开迦太基

您应该会看到一个包含两个目录的Finder窗口:构建和签出。 在Carthage Finder窗口中,导航到 Build \ iOS 。现在,将Alamofire.framework(例如)拖到Xcode中的链接框架和库部分:

接下来,切换到Build Phases并添加新的运行脚本构建阶段。添加以下命令:

/usr/local/bin/carthage copy-frameworks

单击“输入文件”下的+,为每个框架添加一个条目:

$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework