我正在尝试在应用内购买,我遵循了这个很棒的教程Introduction to In-App Purchases
当我清理项目时它没有显示任何错误,但是当我构建项目时,它给了我这些错误:
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)
我尝试删除文件并重新添加,但无效。 有什么想法吗?
答案 0 :(得分:1)
它们是链接器错误,表明您已经使用了未构建到最终二进制文件中的类(并且它们;不在任何框架中等)。
对于每个缺少类的类,找到定义它的.m文件(例如,'Reachability`可能在Reachability.m中定义)并检查:
你的应用程序目标中肯定有Reachability.m吗?
你的目标'编译源'构建阶段肯定有Reachability.m吗?
正如下面提到的@Sohaib,是否选择了正确的成员资格复选框?在右侧面板的属性检查器中,在最左侧的选项卡(看起来像纸张的那个)中检查这个,这里有一个名为“目标成员资格”的部分 - 它显示了正在编译的文件的目标。我总是不小心误将文件添加到我的单元测试目标中:)