4

一切正常,直到我格式化我的 mac。格式化后(从移动El CapitanSierra),我克隆了存储库,安装Cocoapodspod update。一切都搞砸了pods。我无法构建应用程序。错误在于Cocoapods(我认为是这样)。错误如下:

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

我正在使用Xcode 8.0and Swift 2.3, with Cocoapods 1.1.1

Podfile的是:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

target 'ProjectName' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Firebase Pods
  pod 'Firebase'
  pod 'Firebase/Messaging'
  pod 'Firebase/Auth'
  pod 'Firebase/Crash'

  # Google Pods
  pod 'Google/SignIn'
  pod 'Google/Analytics'

  # Crashlytics
  pod 'Fabric'
  pod 'Crashlytics'

  # Facebook
  # pod 'FacebookCore'

  # Pods for ProjectName

  target 'ProjectName Tests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'ProjectName UITests' do
    inherit! :search_paths
    # Pods for testing
  end
end

还收到有关框架路径的警告。如下:

ld: warning: directory not found for option '-F/Users/<user>/Library/Developer/Xcode/DerivedData/<project-name>-ftvbhpamiyfzmwdfpxknyvpcypde/Build/Products/Debug-iphonesimulator/GTMOAuth2'

ld: warning: directory not found for option '-F/Users/<user>/Library/Developer/Xcode/DerivedData/<project-name>-ftvbhpamiyfzmwdfpxknyvpcypde/Build/Products/Debug-iphonesimulator/GTMSessionFetcher'

ld: warning: directory not found for option '-F/Users/<user>/Library/Developer/Xcode/DerivedData/<project-name>-ftvbhpamiyfzmwdfpxknyvpcypde/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
4

4 回答 4

19

.xcworkspace通过选择(not )重新打开您的项目.xcodeproj,这 3 个警告和 1 个错误将消失。

于 2017-01-13T10:27:42.013 回答
1

要解决此问题,请确保 在您的项目构建设置中设置Build Active Architecture Only为。No在所有 Pod 目标中也设置Build Active Architecture OnlyNo,如随附的屏幕截图所示。

在此处输入图像描述

然后清理并重建项目。

于 2017-05-13T09:20:34.300 回答
1

当我的项目名称包含撇号时,我遇到了这个问题,导致 CocoaPods 为 GTMOAuth2 框架生成无效的目录路径。

我通过更改项目名称并重新生成所有文件来修复它。

于 2018-07-16T00:10:11.427 回答
0

正如@jeffrey-neo 所说,它通常与工作区与项目相关。我唯一的补充是,如果您使用 BitRise 在云中编译它,您需要检查工作流应用程序设置(参见:http ://devcenter.bitrise.io/ios/frequent-ios-issues/#cocoapods-missing -依赖问题)。它可以默认使用项目而不是工作区文件。

于 2017-11-04T15:22:26.897 回答