在实施“应用程序内购买简介”教程后出现奇怪的错误

时间:2012-09-05 08:41:34

标签: iphone ios

我正在尝试在应用内购买,我遵循了这个很棒的教程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)

我尝试删除文件并重新添加,但无效。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

它们是链接器错误,表明您已经使用了未构建到最终二进制文件中的类(并且它们;不在任何框架中等)。

对于每个缺少类的类,找到定义它的.m文件(例如,'Reachability`可能在Reachability.m中定义)并检查:

  • 你的应用程序目标中肯定有Reachability.m吗?

  • 你的目标'编译源'构建阶段肯定有Reachability.m吗?

  • 正如下面提到的@Sohaib,是否选择了正确的成员资格复选框?在右侧面板的属性检查器中,在最左侧的选项卡(看起来像纸张的那个)中检查这个,这里有一个名为“目标成员资格”的部分 - 它显示了正在编译的文件的目标。我总是不小心误将文件添加到我的单元测试目标中:)