Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift ld:未找到框架GTMOAuth2_Swift_Xcode_Cocoapods_Gtm Oauth2 - Fatal编程技术网

Swift ld:未找到框架GTMOAuth2

Swift ld:未找到框架GTMOAuth2,swift,xcode,cocoapods,gtm-oauth2,Swift,Xcode,Cocoapods,Gtm Oauth2,在我把mac格式化之前,一切都很好。格式化后(从El Capitan移动到Sierra),我克隆了存储库,安装了Cocoapods,进行了pod更新。所有的东西都被豆荚弄得一团糟。我无法构建应用程序。错误在于Cocoapods(我想是的)。错误如下: ld: framework not found GTMOAuth2 clang: error: linker command failed with exit code 1 (use -v to see invocation) ld: warni

在我把mac格式化之前,一切都很好。格式化后(从El Capitan移动到Sierra),我克隆了存储库,安装了Cocoapods,进行了pod更新。所有的东西都被
豆荚弄得一团糟。我无法构建应用程序。错误在于
Cocoapods
(我想是的)。错误如下:

ld: framework not found GTMOAuth2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
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'
我使用的是
Xcode 8.0
Swift 2.3
,以及
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: framework not found GTMOAuth2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
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'
ld:警告:未找到选项'-F/Users//Library/Developer/Xcode/DerivedData/-ftvbhpamiyfzmwdfpxknyvpcypde/Build/Products/Debug iphonesimulator/GTMOAuth2'的目录
ld:警告:未找到选项'-F/Users//Library/Developer/Xcode/DerivedData/-ftvbhpamiyfzmwdfpxknyvpcypde/Build/Products/Debug iphonesimulator/GTMSessionFetcher'的目录
ld:警告:未找到选项'-F/Users//Library/Developer/Xcode/DerivedData/-ftvbhpamiyfzmwdfpxknyvpcypde/Build/Products/Debug iphonesimulator/GoogleToolboxForMac'的目录

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

要解决此问题,请确保在项目生成设置中将
仅构建活动体系结构
设置为
。 在所有Pod目标中也将
Build Active Architecture Only
设置为
No
,如所附屏幕截图所示


然后清理并重建项目。

正如@jeffrey neo所说,它通常与工作区和项目相关。我唯一的补充是,如果您使用BitRise在云中编译它,您需要检查工作流应用程序设置(请参阅:)。它可以默认使用项目而不是工作区文件。

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

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

可能的重复项