我在项目中添加了一个新框架。 我将框架的.xcodeproj文件作为项目的子项拖动。 我将该项目的产品添加到主项目的Target Dependencies,Link Binary with Libraries和Copy Files(框架)中。 我在构建测试版或执行项目时没有任何问题。
但是,如果我尝试创建存档版本,或者如果我尝试对项目进行概要分析,则会失败并显示以下错误:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Something", referenced from:
objc-class-ref in DasProject-F7DB55F503641F0A.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
tl; dr:我可以毫无问题地创建和执行调试版本,档案版本无法找到特定的框架。
答案 0 :(得分:0)
尝试将“图书馆搜索路径”(“构建设置” - >“搜索路径”)设置为“$(TARGET_BUILD_DIR)”或“$(BUILT_PRODUCTS_DIR)”(在我的项目中它们是相同的)
还要检查目标的构建方案中的相应复选框,如Tools Workflow Guide for iOS中所述(忽略它是iOS文档,只需查看图像)
答案 1 :(得分:0)
我从头开始创建了一个新的Cocoa Framework,并复制了我需要的.h和.m文件。这解决了这个问题。
在比较了这个框架和我正在使用的其他框架之间的构建选项之后,我没有看到任何不合适的地方,我真的怀疑这是Xcode中的一个错误。