ld: framework не найден GTMOAuth2

Все работало нормально, пока я не отформатировал свой Mac. После форматирования (перенесено из El Capitan в Sierra), Я клонировал репозиторий, установил Cocoapods, сделал pod update, И все перепуталось с pods, Я не могу собрать приложение. Ошибка с Cocoapods (Я думаю так). Ошибка заключается в следующем:

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

я использую 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: 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 ответа

Откройте свой проект, выбрав .xcworkspace(не .xcodeproj), эти 3 предупреждения и 1 ошибка исчезнут.

У меня была эта проблема, когда у меня было имя проекта, включающее апостроф, в результате которого CocoaPods генерировал неверный путь к каталогу для платформы GTMOAuth2.

Я исправил это, изменив имя проекта и восстановив все файлы.

Чтобы решить эту проблему, убедитесь, что Build Active Architecture Only установлен в No в ваших проектах соберите настройки. Также установлено Build Active Architecture Only в No во всех целях Pod, как показано на прикрепленном скриншоте.

Затем очистите и перестройте проект.

Как говорит @jeffrey-neo, обычно это связано с рабочим пространством или проектом. Единственное добавление к этому - если вы используете BitRise для компиляции в облаке, вам нужно проверить настройки приложения рабочего процесса (см.: http://devcenter.bitrise.io/ios/frequent-ios-issues/). По умолчанию он может использовать проект, а не файл рабочей области.

Другие вопросы по тегам