У меня возникла проблема с получением моего модуля PerfectServer (называемого MCPushServer) для компиляции на Ubuntu при ссылке на обновленную версию PerfectLib. Что касается моего предыдущего вопроса, я обновил PerfectLib, чтобы использовать lazy var param postBodyString для WebRequest для доступа к данным тела JSON. Все это отлично работает на Mac, но когда я копирую новые файлы на виртуальную машину Linux и перекомпилирую проект, мой RegistrationHandler в MCPushServer не скомпилируется, так как он не распознает параметр в WebRequest:PerfectLib on Ubuntu: модуль действительно ссылается на устаревший сгенерированный интерфейс
Выход из компилятора :
MCPushServer/MCUnregistrationHandler.swift:33:28: error: value of type 'WebRequest' has no member 'postBodyString' let bodyData = request.postBodyString
Подробное описание шагов ниже:
- COPIE d PerfectLib на мой удаленный сервер
- Удалить ранее существовавшего PerfectLib.so
- запустить «сделать»: PerfectLib.so будет создан заново, и он содержит ссылку на «postBodyString (Grep файл и он вернулся матч)
- беги 'Sudo сделать установку' для ссылки/пользователь/местные/Библиотека /> все хорошее
- скомпилирован Re-PerfectServer
- кд в примерах/MCPushServer и запустить сделать: выше ошибка происходит
Я также попытался прокомментировать существующие методы в W ebRequest (например: lazy var params) и повторил процесс: я бы ожидал, что мой обработчик будет жаловаться на отсутствующий элемент в WebRequest, но он, похоже, справляется, как будто ничего не произошло.
Мне кажется, что есть какой-то устаревший сгенерированный интерфейс PerfectLib/WebRequest, который мой модуль ссылается при попытке построить. Кто-нибудь может указать мне в правильном направлении здесь?