Я реализовал пользовательский элемент управления в приложении OS X, который отлично работает. Когда элемент управления рисуется, он использует код из несистемной системы. Элемент управления написан быстрым, рамки находятся в Objective-C. Рамка не построена в том же проекте или рабочей области, что и приложение с настраиваемым элементом управления. Я добавил Framework к цели и добавил ее на фазу сборки файлов копий.Загрузка кода из рамки для настраиваемого элемента управления в IBDesignable
Когда я добавляю оформление IBDesignable в пользовательский класс управления в swift, я получаю сообщение об ошибке при попытке просмотреть элемент управления в Interface Builder. Ошибки я получаю:
file:///Users/ktam/github/MovingImagesDemo/Spinner2/SpinnerController.xib: error: IB Designables: Failed to render instance of Spinner: dlopen(Spinner2.app, 1): Library not loaded: @executable_path/../Frameworks/MovingImages.framework/Versions/A/MovingImages Referenced from: Spinner2.app Reason: image not found
Когда я проверяю пакет приложения, созданный в IBDesignables подпапки каркас находится в правильном месте, в связке приложений. Я предполагаю, что исполняемый файл, фактически выполняемый в этом случае, не тот, который входит в пакет приложений IBDesignables, но, возможно, исполняемый файл Interface Builder, который объясняет, почему образ Framework не может быть загружен.
Что нужно сделать, чтобы загрузить код, который Interface Builder может найти, когда он отображает представление с помощью IBDesignable?
информация после дальнейшего тестирования:
Я перестроил Framework при задании каталога установки будет ~/Library/Frameworks, а затем копируется встроенной рамки для этого места, я тогда обновил цель приложения, так что пути поиска Runpath, включенные ~/Library/Frameworks, и как Application, так и Interface Builder, теперь настраивают пользовательский элемент управления правильно.
Это не то решение, в котором я нуждаюсь, но оно указывает на то, в чем проблема, мне все же нужно выяснить, что это за правильное исправление.
Спасибо. Это сводило меня с ума. – charles