0
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_EvernoteSession", referenced from:
  objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_SHK", referenced from:
  objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_SHKConfiguration", referenced from:
  objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_SHKFacebook", referenced from:
  objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_SHKGooglePlus", referenced from:
  objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我用谷歌搜索了很多,但找不到适合我的anithyng。我已经按照安装指南一步一步地进行操作,我已经三重检查了我是否添加了所有需要的框架,我阅读并尝试了使用 ShareKit 的“未找到架构 i386 的符号”问题,但仍然得到这个错误...请帮助!

4

3 回答 3

1

经过 12 个小时的疯狂后,我意识到我的文件夹树是错误的。您可以通过 git(对于像我这样的图标推送者也很容易)或通过浏览器下载文件,但您必须注意以下结果:

Project Root
 |
 |-Submodules
   |
   |-ShareKit
      |
      |-Submodules
         |
         |-All the subfolder with files (notice that if you download it as .zip from github, the folder will be created but they are EMPTY!

如果您与此有任何不同,您将遇到巨大且不可预测的问题!

谢谢大家的帮助。

PS:我建议尝试将 ShareKit 添加到一个新的空项目中,只是为了熟悉它并保留您的真实项目。

于 2013-04-05T10:43:01.483 回答
0

首先告诉我您是否必须将任何内容framework作为复制粘贴?在大多数情况下,都会产生此类问题。

通常,当您的类.m文件未存储/放入时会发生这种类型的错误Compile Sources

在这种情况下,您需要手动将此.m文件添加到Compile Sources

以下步骤描述如何手动放入.m文件Compile Sources

Select Project Form Project Manager
  |
  | 
  Targets
       |
       |
     Build Phases
          |
          |
        Compile Sources
                |
                |
        Click on '+' button and add .m file in it

这是如何将文件手动放入Compile Sources.

编辑:

我不确定,但我认为您忘记添加CoreData.framework先添加它。请参阅此问题如何在 Xcode 4 中“添加现有框架”?如何添加框架

于 2013-04-04T14:23:33.187 回答
0

尝试这个:

1)清理你的代码(按 Cmd + Shift + K)

2) 退出 Xcode 并重新启动

3) 确保在 Build Phases 和 Compile Sources 中添加了 SHKFacebook.m、SHKConfiguration.m 等文件。

4) 确保 Sharekit 中的所有子模块都已下载...

希望这可以帮助...

于 2013-04-04T17:59:30.643 回答