[英]Adding Carthage Support to an Existing Project
您应该在示例项目的“构建阶段”中添加运行脚本,如:
在应用程序目标的“构建阶段”设置选项卡上,单击“+”图标,然后选择“新建运行脚本阶段”。 使用以下内容创建运行脚本:
/usr/local/bin/carthage copy-frameworks
然后将路径添加到要在“输入文件”下使用的框架,例如:
$(SRCROOT)/Carthage/Build/iOS/Box.framework
$(SRCROOT)/Carthage/Build/iOS/Result.framework
$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework
我曾尝试通过添加脚本来检查是否在BUILD_PRODUCTS_DIR中找到每个框架然后以递归方式复制它们(如果没有)。 当这不起作用时,我最终得到了这个链接问题:
dyld:未加载库:@ rpath / XCTest.framework / XCTest引用自:... / build / Products / Debug-iphonesimulator / Specta.framework / Specta原因:未找到图像
我终于尝试创建复制文件阶段并包含我的框架和dSYM,创建组,然后将所有这些移动到Xcode 7.2中的Frameworks组。 我的链接问题完全消失了。
你得到的错误指出在运行时没有找到框架二进制文件。 Abner Zhong的回答在大多数情况下会有效,但有时你必须更加努力(对我而言,这是单元测试的目标)。 为了使其工作, Carthage README建议:
在极少数情况下,您可能还希望将每个依赖项复制到构建产品中(例如,在外部框架中嵌入依赖项,或确保测试包中存在依赖项)。 为此,使用“Frameworks”目标创建一个新的“Copy Files”构建阶段,然后在那里添加框架引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.