4

我想为未来的 iOS 项目使用http://getsharekit.com框架。因此我开始测试框架。

但我已经收到以下错误:

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SHKItem", referenced from:
  objc-class-ref in ShareKitTestAppDelegate.o
"_OBJC_CLASS_$_SHKActionSheet", referenced from:
  objc-class-ref in ShareKitTestAppDelegate.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

通常,据我所知,如果错误地导入了头文件,就会出现这些问题。但是在出现上述问题的以下代码中,我没有看到任何错误:

#import "ShareKitTestAppDelegate.h"
#import "SHK.h"
#import "SHKItem.h"
#import "SHKActionSheet.h"
- (IBAction) letshare:(id)sender
{  
   // Create the item to share (in this example, a url)
   NSURL *url = [NSURL URLWithString:@"http://getsharekit.com"];
   SHKItem *item = [SHKItem URL:url title:@"ShareKit is Awesome!"];

   // Get the ShareKit action sheet
   SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

   // Display the action sheet
   [self.window addSubview:actionSheet];
}

我还将 ShareKit Headers 文件夹包含在 HeaderSearchPath Build-Options 中,因为要搜索所有标题。

但我在这里没有看到任何错误或任何遗漏。

有人可以帮助我吗?

最诚挚的问候,

安德烈亚斯

4

2 回答 2

4

我对以下链接器错误有类似的问题:

架构 i386 的未定义符号:“_OBJC_CLASS_$_SHK”

我通过在项目设置->目标->构建阶段下将 SHK.m 添加到编译源来解决它。不知道为什么 SHK.m 不在编译的源列表中,并且它在复制目标之前正在工作。复制后我无法链接任何目标。

将 SHKItem.m 或 SHK.m 添加到已编译的源代码中可能会对您有所帮助,如果它们还没有的话。

于 2012-04-17T21:34:25.733 回答
3

阅读此http://getsharekit.com/install/

你添加了框架吗?

于 2011-08-08T04:46:19.950 回答