清除 Xcode 链接器设置的方法有哪些?

What are the ways to clear out Xcode linker settings?

我的问题:

Xcode (7.2.1) 是否有可能错误地保留对 link 不再存在于项目中的框架的指令?如果是,如何解决?

我的问题:

我正在尝试使用 Cocos2d-x v3.10 和最新版本的 Soomla 模块(尤其是 Soomla 配置文件)编译一个 iOS 项目。其他 Soomla 模块在我实现配置文件之前工作,但是一旦我添加 -lSoomlaiOSProfileFacebook 作为 linker 标志,我就会收到编译时错误:

ld: framework not found FBSDKCoreKit for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我对此感到非常困惑,因为 FBSDKCoreKit 是 Facebook iOS SDK 版本 4.0 及更高版本中使用的框架,而 Soomla Profile 仅配置为使用 3.0(因此不应该不会要求 FBSDKCoreKit)。我已将 FacebookSDK 框架版本 3.23.3 集成到项目中。我的项目中没有任何内容应该引用或要求 FBSDKCoreKit

我唯一可能的解释是,有一次我的项目中确实有 FBSDKCoreKit,然后我才知道 Soomla 无法使用它,并且我成功触发了几个在 Facebook 中注册的操作开发人员门户(这不是使用 Soomla 命令完成的,而是在 -lSoomlaiOSProfileFacebook 库 linked 之前完成的)。我觉得 Xcode 可能出于某种原因还保留着对 FBSDKCoreKit 的一些记忆,即使该框架已与所有引用一起被完全删除。

总而言之:Soomla 应该寻找 FacebookSDK,而不是 FBSDKCoreKit

我尝试过的东西:

所有这些都已经尝试过多次,我在编译尝试之前至少完成了每一步。

我确信项目中没有任何东西应该要求 FBSDKCoreKit,这让我想知道这是否是一个 Xcode 问题。对于这种性质的问题,是否有任何后续步骤?

参考资料

我很乐意提供您认为相关的更多信息。任何反馈或故障排除提示将不胜感激。

Occam's Razor 引导我 grep Soomla Profile 项目提供的所有静态库。事实证明,从 1.4.0(目前是 1.8.1)开始,所提供的二进制文件毕竟查询了错误的 SDK。我已经打开了一个 PR,但由于教会我检查 .pbxproj 文件的精彩回复,我一直在问这个问题。