【问题标题】:`#import "FBConnect.h"` vs. '#import "FBConnect/FBConnect.h" '`#import "FBConnect.h"` 与 '#import "FBConnect/FBConnect.h" '
【发布时间】:2025-12-25 04:45:06
【问题描述】:

我花了一些时间让 XCode 找到 Facebook sdk。

我在“项目设置”的“标题搜索路径”中添加了“....../facebook-ios-sdk/src”(“目标信息”中的“标题搜索路径”不显示目录但是),并使用:

#import "FBConnect.h",

而不是#import "FBConnect/FBConnect.h",然后XCode 可以定位facebook sdk。

由于'FBConnect.h' 直接在/src 下,'FBConnect' 在哪里? "FBConnect/FBConnect.h" 是什么意思?你们使用#import "FBConnect/FBConnect.h" 而不在XCode 中手动添加'FBConnect' 目录或组吗?

【问题讨论】:

    标签: iphone header-files fbconnect


    【解决方案1】:

    我也在我的项目中使用#import "FBConnect/FBConnect.h",但您不需要将 Facebook iOS SDK 添加到 Xcode 中的搜索路径中。 Xcode 会自动将源代码树中可编译文件的路径添加到 gcc 的包含路径列表中。 Xcode 中的组只是为了让您安心和项目组织——它们对您的项目的构建设置绝对没有影响。这里使用的FBConnect 是指文件系统上的子目录,而不是项目中实际的组名。

    请记住,实际上有两个适用于 iPhone 的 Facebook SDK:facebook-ios-sdk 和 facebook-iphone-sdk。我不是 100% 确定为什么,但我认为 facebook-iphone-sdk 正在被弃用,取而代之的是新的。由于 Facebook(出于某种奇怪的原因)选择将他们的头文件放在 facebook-iphone-sdk 项目的主源目录下的另一个名为“FBConnect”的子目录中,因此您需要在导入此文件时添加额外的 FBConnect .此外,您还会看到很多引用旧项目代码的示例,这些代码也使用这种导入样式。

    【讨论】:

    • 谢谢。所以对于 facebook-ios-sdk,如果你不自己手动添加 'FBConnect' 目录,你应该只使用#import "FBConnect.h"。
    • 是的,我是这么认为的...我还在使用旧的facebook-iphone-sdk,所以我没有亲自测试过,但是看看新项目中的代码布局,它好像是这样。