我知道这个问题看起来像是重复的,答案可能已经存在但我无法找到它。我通过查看其他答案来解决问题,但我的情况有点不同,这让我有些困惑。
让我试着解释一下。
我有一个我创建的.framework项目。 以下是我的图书馆链接二进制文件:
以下是我的架构设置:
这是错误:
Undefined symbols for architecture armv7: "_OBJC_CLASS_$_QlmLicense", referenced from: objc-class-ref in id2(MainViewController.o)
您可以通过错误判断id2.framework中的MainViewController是引用QlmLicense类(位于QlmLicenseMobile.framework中)。所以,这里是QlmLicenseMobile.framework的目标文件(详情如下):
源文件和头文件都在那里,Link Binary With Libraries部分中没有库。复制包资源仅包含infoPlist.strings,复制文件仅包含QlmLicenseMobile.framework。
以下是QlmLicenseMobile.framework的架构:
最后,我的演示应用程序中出现构建错误。 以下是Link Binary With Libraries文件:
以下是架构:
我的.framework和演示项目一起发挥得很好。
现在我正在使用我的.framework项目中的QlmLicenseMobile.framework。这两个很好地结合在一起。
这是我的演示项目,它给了我错误。
所以,要明确的是,我的推荐是这样的:
演示应用 -----> my.framework app -----> QlmLicenseMobile.framework app
无论如何,是的,这比你通常的图书馆设置要复杂一些。我不知道还需要做什么/添加到演示项目来构建它。有什么想法吗?
添加新信息以帮助其他人解决此问题。
Warren Burton在他的回答中解决了部分问题。
第二个问题是我需要在我的演示应用程序中添加一个由第三方 QlmLicenseMobile.framework使用的库,即使该框架包含在my.framework中。由于my.framework中包含了所有内容,我不知道我还需要将他们的框架和libxml2.2.dylib添加到我的演示应用程序中。我试图添加他们的框架,但这不起作用。然后我明白了尝试添加libxml2.2.dylib和瞧!那是拼图中神奇的缺失部分。所以,结果看起来更像是这样:
演示应用 -----> my.framework app -----> QlmLicenseMobile.framework
演示应用 -----> my.framework app -----> libxml2.2.dylib
演示应用 -----> QlmLicenseMobile.framework
演示应用 -----> libxml2.2.dylib
以下是我的演示应用的Link Binary With Libraries文件的更新图片:
答案 0 :(得分:2)
检查您的FRAMEWORK_SEARCH_PATHS
是否已针对该配置和目标设置
它让我对以前的联系感到悲伤。