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