Ios Can';t从Xcode链接步骤中删除框架

Ios Can';t从Xcode链接步骤中删除框架,ios,xcode,Ios,Xcode,我正在将一个项目从xcode 7.3迁移到8.1,现在只是转换到swift 2.3(从2.2)。这是一场斗争,尤其是通过cocoapods添加的objective c框架 我目前有一个问题,我似乎无法摆脱对链接步骤中一个框架的引用 当我尝试构建项目时,链接步骤失败,原因是: ld: framework not found DateTools clang: error: linker command failed with exit code 1 (use -v to see invocati

我正在将一个项目从xcode 7.3迁移到8.1,现在只是转换到swift 2.3(从2.2)。这是一场斗争,尤其是通过cocoapods添加的objective c框架

我目前有一个问题,我似乎无法摆脱对链接步骤中一个框架的引用

当我尝试构建项目时,链接步骤失败,原因是:

  ld: framework not found DateTools
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我可以在失败的命令上看到这一点:

... -framework CoreText -framework DateTools -framework GLKit ...
我已经删除了框架,目前我只是在项目中包括我需要的文件

以下是我迄今为止所做的工作:

  • 清理项目
  • 退出xcode
  • 从pod文件中删除框架,删除Pods目录,然后重新安装其余的Pods
  • 在整个项目中搜索DateTools(通过脚本),并删除了我找到的所有内容
  • 删除的派生数据
  • 重新启动的计算机
  • 但问题依然存在

    我确实发现了一件有趣的事情,那就是当我搜索派生数据文件夹时(在删除它之前),我在名为
    dgph
    的文件中看到了一个条目
    -framework DateTools

    found pattern in OurLatitude-eliemxgbqrgibwbimtxzdyhuagll/Build/Intermediates/OurLatitude.build/Debug-iphonesimulator/OurLatitude.build/dgph
    line: 68 -framework DateTools
    
    我发现的是xcode使用的某种依赖关系图。问题是,即使在删除派生数据之后,一旦重新启动xcode,该文件似乎会被重新创建,并且仍然包含相同的条目


    是否还有其他地方我应该寻找这个框架条目?

    我能够解决这个问题!结果我错过了我的一个项目文件中的条目。我被愚弄了,因为我仍然希望出现一些DateTools字符串(因为我试图手动包含这些文件)。一旦我完全删除了与DateTools有关的所有内容,我惊讶地发现仍然会出现DateTools字符串

    条目是中的
    其他\u LDFLAGS
    下的
    “-framework”“DateTools\”,

    ~/development/ourlatitude/OurLatitude.xcodeproj/project.pbxproj 
    
    (基本上就是链接器所抱怨的)

    删除该条目后,我可以通过cocoapods重新安装DateTools

    我认为导致
    ld的原因有两个:未找到框架XXXX

  • 是由我上面所说的引起的
  • 是由于某个测试文件中存在旧的/错误的导入而导致的
  • 例如,在清除上述内容后,我的下一个问题是一条类似的消息,但这一次是由我的一个测试文件中的这条消息引起的:

    import ObjectMapper
    import Alamofire
    import AlamofireObjectMapper
    import OurLatitude
    
    将其更改为:

    //import ObjectMapper
    //import Alamofire
    //import AlamofireObjectMapper
    @testable import OurLatitude
    
    解决了我的上一个问题,我能够在xcode 8.1中使用swift 2.3获得一个干净的构建


    希望这能帮助其他人,或者至少下次我找到
    ld:framework not found XXXX

    有趣的注意:我在升级cocoapod版本时遇到了同样的问题。我的问题出在我的xcodeproj中,也出在我的构建设置中。一旦我从“其他链接器标志”中删除了过时的框架,构建就开始了