【问题标题】:XCode 7: Linker linking to an SDK that doesn't show up in Build SettingsXCode 7:链接器链接到未显示在构建设置中的 SDK
【发布时间】:2016-04-03 22:37:43
【问题描述】:

我花了大约一个小时从我正在为 iOS 应用程序开发的代码库中删除 Facebook SDK。我知道在我的代码中不再有对 Facebook 的引用。

我收到以下错误:

(null): Directory not found for option '-F/Users/admin/Documents/FacebookSDK'

我查看了我的构建设置/搜索路径,两者都没有在我的项目资源管理器中引用 Facebook SDK。

Build settings image

我相当肯定这导致了我的以下错误:

Symbol(s) not found for architecture i386 
(preceded by 9 counts of various Facebook class references)

我已经搜索过类似的问题,但看不到任何其他关于此类问题的参考。关于链接器为何会尝试链接原本不会出现的 SDK 的任何线索?

【问题讨论】:

    标签: ios facebook sdk linker xcode7


    【解决方案1】:

    检查您的构建目标。从“架构 i386”位来看,您似乎有一个“我的 Mac 64 位”的活动方案或类似的东西。你应该为 iPhone 构建。

    我仍在使用 XCode 5.x,但我不知道如何在 XCode 7.x 中检查它。在 XCode 5.x 中,方案显示在窗口顶部附近。

    如果活动方案是 iPhone,请检查活动方案的方案设置。

    如果方案正确,请检查您的构建目标。确保您的构建目标适用于 iPhone。

    【讨论】:

    • 我的活动方案肯定是 iPhone 6。构建目标是我的应用程序可执行文件。 iOS7 作为构建设置中的 iOS 部署目标。不知道发生了什么事。我还尝试编辑该方案以在没有隐式依赖项的情况下构建,不确定这是否会改变任何东西,但它似乎没有效果。更令人沮丧的是,如果我回滚到之前在 git 上的提交(在另一个开发人员愚蠢地将所有 facebook 垃圾与他的代码重新合并之前),它构建和编译都很好。
    • 检查您的构建日志。确保您已从项目以及构建目标中删除了有问题的库。确保已将其从左侧窗格的框架部分中删除。检查目标的构建阶段以确保未列出该库。
    • 好吧,我注意到的第一件事是:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot 但之后我注意到路径中有-F/Users/admin/Documents/FacebookSDK。我的文件结构中没有 FacebookSDK 资产。我不知道它是从哪里来的。
    • 哦,阶段中没有提到 Facebook SDK。
    • 好的,知道了。我以为没有参考,但它正在剪裁构建中的最后一项。我明白了。虽然没有解决我的错误,但这与我现在知道的问题是分开的。非常感谢所有的帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-01-24
    • 2015-08-24
    • 2016-01-22
    • 1970-01-01
    • 2017-11-14
    • 2017-02-14
    • 2016-02-27
    • 1970-01-01
    相关资源
    最近更新 更多