Xcode — IB Designable: не удалось отобразить и обновить автоматический макет (подходящее изображение не найдено)

Я пытаюсь реализовать собственный UIView из файла .xib, который я хочу проверить в одной из своих раскадровок. Однако я получаю сообщение об ошибке времени сборки:

IB Designables: не удалось отобразить и обновить статус автоматического макета для LoginViewController (BYZ-38-t0r): dlopen(App.app, 1): подходящее изображение не найдено. Нашел: App.app: не удается сопоставить нескользящий сегмент __TEXT с 0x100000000 размером 0x268000

Я использую CocoaPods и читал, что это произошло из-за ошибки в версии 1.5. Я пробовал некоторые обходные пути и переход на 1.4 без каких-либо результатов. Я также попытался удалить папку DerivedData и очистить/перестроить проект.

Мой файл .xib содержит простой временный UIView, и это соответствующий код:

import UIKit

@IBDesignable class ButtonPrimary: UIView {

    @IBOutlet var button: UIView!

    override init(frame: CGRect) {
        super.init(frame: frame)
        initNib()
        setup()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initNib()
        setup()
    }

    func initNib() {
        let bundle = Bundle(for: ButtonPrimary.self)
        bundle.loadNibNamed("ButtonPrimary", owner: self, options: nil)
        addSubview(button)
        button.frame = bounds
        button.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    }

    func setup() {
        self.backgroundColor = UIColor.clear
    }
}

Любые идеи?


person drante    schedule 16.06.2018    source источник


Ответы (1)


Какие обходные пути вы пробовали?

У меня была такая же проблема, и я добавил этот обходной путь в свой подфайл, исправив это для меня. Я нашел этот обходной путь здесь.

# Workaround for Cocoapods issue #7606
post_install do |installer|
    installer.pods_project.build_configurations.each do |config|
        config.build_settings.delete('CODE_SIGNING_ALLOWED')
        config.build_settings.delete('CODE_SIGNING_REQUIRED')
    end
end

Он удаляет настройки сборки CODE_SIGNING_ALLOWED и CODE_SIGNING_REQUIRED из ваших модулей.

person Roel Koops    schedule 16.06.2018
comment
Да, я пробовал это, а также пару других обходных путей. Но, насколько я понимаю, обходные пути применимы только к CocoaPods 1.5, поэтому я думаю, что понижение версии решило бы любые возможные проблемы? - person drante; 16.06.2018