Не удается выполнить сборку для iOS 8 после обновления iOS 9.3?

Я давно работаю над приложением для iPhone и всегда ориентировался на iOS 8.1 в качестве цели развертывания и тестировал на устройстве iOS 8.1 и устройстве iOS 9.

После обновления iOS 9.3 приложение нормально строится на устройстве iOS 9, но я получаю ошибки компоновщика при сборке для iOS 8:

"_OBJC_METACLASS_$_AFHTTPRequestOperationManager", referenced from:
  _OBJC_METACLASS_$_GroupMeAPIClient in GroupMeAPIClient.o
  ...
"_OBJC_CLASS_$_AWSS3PutObjectRequest", referenced from:
      objc-class-ref in AmazonAPIClient.o
"_OBJC_CLASS_$_BranchUniversalObject", referenced from:
      objc-class-ref in PhotoVC.o
      ....
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я знаю, что это как-то связано с подами, потому что каждый символ в журнале ошибок — это класс, исходящий от пода, однако я не могу найти никакой информации об этой конкретной проблеме.

Есть ли способ заставить Podfile работать как с iOS 8.1, так и с iOS 9.3? Вот мой подфайл:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
target ‘xxx’ do
    pod 'AFNetworking', '~> 2.5'
    pod 'SDWebImage'
    pod 'AWSiOSSDKv2', '~> 2.0'
    pod 'SSKeychain'
    pod 'Fabric'
    pod 'Crashlytics'
    pod 'Branch'
end

person Cbas    schedule 05.06.2016    source источник
comment
какие символы не найдены?   -  person Shubhank    schedule 05.06.2016
comment
Я добавил несколько примеров, всего их 31.   -  person Cbas    schedule 05.06.2016
comment
вероятно, Amazon удалил поддержку арки armv7? попробуйте проверить их документы на наличие обновлений в версии модуля.   -  person Shubhank    schedule 05.06.2016
comment
У AWS была новая версия, но обновление не устранило ни одну из ошибок, даже ошибки AWS.   -  person Cbas    schedule 05.06.2016


Ответы (1)


Этот вопрос описывает аналогичную проблему. OTHER_LDFLAGS для вас тоже было переопределено?

В любом случае запуск pod install --verbose, скорее всего, даст вам некоторую диагностически полезную информацию, которую вы могли бы добавить сюда. Очистка производных данных и удаление папки /Pods, чтобы переделать все с нуля, вероятно, также является хорошей идеей.

person Alex Curylo    schedule 05.06.2016
comment
Я не получал никаких предупреждений в выводе --verbose, но после запуска этих команд gist.github.com /mbinna/4202236 и удалив производные данные, он снова заработал. Должно быть, мне просто нужно было обновить некоторые модули и очистить все кеши. - person Cbas; 05.06.2016