Обновление Pod фатально изменило приложение
В моем прекрасно работающем приложении раньше был Xcode Project Navigator, как показано ниже.
Требования iOS 10 означали, что мне пришлось обновить Xcode до 8.1, что означало обновление всей Mac OS до Sierra, а также перевод всего приложения на Swift 2.3.
Излишне говорить, что это вызвало ошибки, одна из которых была проблема с PubNub. Однако, кроме этой новой ошибки сборки, структура приложения была такой же, и все казалось нормальным после решения всех проблем с макетом.
Мне было предложено выполнить следующие шаги, чтобы попытаться устранить ошибку модуля PodNub, несмотря на мое предупреждение о том, что предыдущие попытки обработать файл модуля pod приводили к фатальным ошибкам, которые в конечном итоге не удалось устранить.
- Установите все симуляторы iOS после обновления Xcode
- Откройте настройки XCode (Cmd+,) и перейдите на вкладку "Местоположения", где будет показан путь к папке "DerivedData"
- Нажмите на маленький кружок со стрелкой на правой стороне показанного пути ”DerivedData”, чтобы открыть его в Finder
- Выйти из Xcode
- Удалить папку "DerivedData"
- Очистите кэши CocoaPods (если они интегрированы с ним), введя это в Терминале: rm -rf ~/Library/Caches/CocoaPods
- Из корня проекта (где находится Podfile) запустите это в Терминале: pod deintegrate MyApp.xcodeproj
- Удалить из корня проекта (где находится Podfile) файл Podfile.lock
- Из корня проекта (где находится Podfile) запустите это в Терминале: обновление pod
- Запустите Xcode (на всякий случай нажмите Shift + Cmd + K)
- Попробуй построить проект
После всего этого мой Project Navigator теперь выглядит следующим образом.
Как вы можете видеть, я потерял кучу вещей, включая файл pod и т. Д. Как и предполагалось, мое приложение теперь смертельно ранено.
Мой соединительный заголовок красный, Restkit.h красный, и все ссылки на стручки исчезли.
В корне моего проекта в Finder есть папка Pods, файл pod и т. Д., Однако, если я пытаюсь перетащить папки в проект из Finder, они не отображаются так, как раньше - например, папки имеют синий цвет, а не желтый.
Я на Xcode 8.1 и Cocoapods 1.1.1.
Как я могу восстановить свое приложение?
РЕДАКТИРОВАТЬ: Если это поможет, вот ссылка на мой нерешенный вопрос в январе, который был последний раз, когда я осмелился коснуться файла pod до сих пор. Последствия этой ситуации такие же, как и раньше - разница в том, что в январе я отказывался от двухнедельной работы, теперь я смотрю на отказ от десятимесячной работы.
RestKit.h не найден в проекте Xcode
Podfile:
pod 'RestKit', '~> 0.24.0'
pod 'SimpleKeychain'
pod 'AWSS3'
pod 'VideoCore'
pod 'SDWebImage', '~>3.7'
pod 'SVPullToRefresh'
pod 'PubNub', '~> 3.7.11'
pod 'MZFormSheetController'
Результат обновления модуля в Терминале:
Обновление всех модулей. Обновление локальных репозиториев спецификаций. master
репозиторий specs для улучшения будущего предупреждения о производительности: неточное обнаружение переименования было пропущено из-за слишком большого количества файлов.
CocoaPods 1.2.0.beta.1 доступен. Для обновления используйте: sudo gem install cocoapods --pre
[!] Это тестовая версия, которую мы хотели бы попробовать. Для получения дополнительной информации см. https://blog.cocoapods.org/ и CHANGELOG для этой версии по адресу https://github.com/CocoaPods/CocoaPods/releases/tag/1.2.0.beta.1
Анализ зависимостей [!] Зависимость RestKit (~> 0.24.0)
не используется ни в какой конкретной цели. Зависимость SimpleKeychain
не используется ни в какой конкретной цели. Зависимость AWSS3
не используется ни в какой конкретной цели. Зависимость VideoCore
не используется ни в какой конкретной цели. Зависимость SDWebImage (~> 3.7)
не используется ни в какой конкретной цели. Зависимость SVPullToRefresh
не используется ни в какой конкретной цели. Зависимость PubNub (~> 3.7.11)
не используется ни в какой конкретной цели. Зависимость MZFormSheetController
не используется ни в какой конкретной цели.
1 ответ
От pod update
Похоже, что журналы CocoaPods не могут найти цель, к которой должны применяться библиотеки.
Можете ли вы попробовать что-то подобное в вашем Podfile
?
target 'YOUR_TARGET_NAME' do
pod 'RestKit', '~> 0.24.0'
pod 'SimpleKeychain'
pod 'AWSS3'
pod 'VideoCore'
pod 'SDWebImage', '~>3.7'
pod 'SVPullToRefresh'
pod 'PubNub', '~> 3.7.11'
pod 'MZFormSheetController'
end
Не уверен, что это исправит вашу ошибку.