Sharekit - 为体系结构i386定义的符号:

问题描述:

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。我按照安装指南,一步一步,我已经三重检查,我已经添加了所有需要的框架,我读&试过这个"symbol(s) not found for architecture i386" problem using ShareKit,但仍然得到这个错误...请帮助!Sharekit - 为体系结构i386定义的符号:

首先告诉我,如果你必须把任何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

EDITE:

我不知道,但我认为你忘记添加CoreData.framework先添加它。 请参阅此问题How to "add existing frameworks" in Xcode 4?如何添加框架

尝试这种情况:

1)清洁代码(按CMD + Shift + K)

2)退出Xcode和重新启动再次

3)确保SHKFacebook.m,SHKConfiguration.m etc文件添加到Build Phases和Compile Sources中。

4)确保在Sharekit所有子模块下载...

希望这有助于...

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添加到一个新的空项目中,以便熟悉它并保留真实的项目。