我正在尝试实现应用内购买,我遵循了这个伟大的教程应用内购买介绍
当我清理项目时,它没有显示错误,但当我构建项目时,会出现以下错误:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MBProgressHUD", referenced from:
objc-class-ref in PDF_Product.o
"_OBJC_CLASS_$_Reachability", referenced from:
objc-class-ref in PDF_Product.o
"_OBJC_CLASS_$_InAppRageIAPHelper", referenced from:
objc-class-ref in AppDelegate.o
objc-class-ref in PDF_Product.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我尝试删除这些文件并再次添加,但没有成功。你知道吗?
它们是链接器错误,表明您使用了未构建到最终二进制文件中的类(而且它们不在任何框架中等)。
对于每个缺少类的类,找到定义它的.m文件(例如,"Reachability"可能在Reachability.m中定义),然后检查:
-
你的应用程序目标中是否确实包含Reachability.m?
-
在目标的"编译源代码"构建阶段,您是否确实拥有Reachability.m?
-
正如下面提到的@Sohaib,是否选中了正确的会员复选框?在右侧面板的属性检查器中检查此项,在最左边的选项卡(看起来像一张纸的选项卡)中有一个名为"目标成员资格"的部分,它显示文件正在编译到哪个目标。我总是不小心错误地将文件添加到我的单元测试目标中:)