Как исправить «ошибку шины 10» после обновления до Xcode 10.2 - PullRequest
11 голосов
/ 28 марта 2019

Я обновил Xcode до новой стабильной версии 10.2v.Я пытался построить свой проект, и он был успешным.Когда я пытаюсь заархивировать проект (рабочее пространство), я получаю ошибки, как на скриншоте ниже:

То, что я пробовал до сих пор:

  1. Обновление стручков какао до последней версии -> COCOAPODS: 1.7.0.beta.3
  2. Очистить папку DeliveredData
  3. Переустановить Xcode
  4. Удалить репозиторий, клонировать его снова и установить модули
  5. Полностью удалить все модули из проекта и добавить их обратно

Ответы [ 3 ]

18 голосов
/ 03 апреля 2019

Временное решение

Для меня это был только Cache фреймворк. Пока они не исправят это, вы можете вручную установить SWIFT_OPTIMIZATION_LEVEL в -Onone для конфигурации, которую вы хотите использовать для архивирования.

image

CocoaPods

Вы можете даже использовать ваш Podfile, если вы не хотите, чтобы Cococapods перезаписывал настройки каждый раз, когда вы запускаете pod install

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            if target.name == 'Cache'
                config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone'
            end
        end
    end
end

Обратите внимание, что это специально проверка для Cache framework. Если у вас есть проблемы с другими платформами, вы можете изменить или расширить это условие.

3 голосов
/ 03 апреля 2019

Хотя ответ Лукаса об отключении оптимизации на модуле Cache работает, я перешел по ссылке Алекса на проблему в их репозитории GitHub и обнаружил, что есть открытый запрос извлечения с довольно простым изменением кода, которое исправляет его. Я разблокировал файл и внес изменения локально.

Вот этот пиар: https://github.com/hyperoslo/Cache/pull/236

Применить эту разницу: https://github.com/hyperoslo/Cache/pull/236/commits/560f00a9a9549db161ca70d96eed74fc580b03e3#diff-9e53dc1370d4f7c9cdaaa103d26ff096

Что, повторять здесь, находится в файле MD5.swift, измените функцию safe_add на:

func safe_add(_ x: Int32, _ y: Int32) -> Int32 {
  return x &+ y
}

(Отказ от ответственности: я не утверждаю, что знаю правильность изменения, но, похоже, задержка слияния PR связана с выяснением, кто в данный момент поддерживает репо.)

1 голос
/ 28 марта 2019

Ответ здесь: https://github.com/hyperoslo/Cache/issues/238

Мы ждем от владельцев этого репо каких-либо признаков жизни ...

...