Как удалить предупреждение: «-pie игнорируется. Он используется только при связывании основного исполняемого файла» - PullRequest
0 голосов
/ 13 октября 2018

enter image description here

с момента обновления до Xcode10 и Swift 4.2 Я всегда получаю предупреждения о времени сборки в моем модуле.Что мне нужно сделать, чтобы удалить эти предупреждения?

Я пытался удалить производные данные, очистить и построить проект, но это не работает: (

Я нашел, что кто-то спрашивает то же самоездесь вопрос https://github.com/Alamofire/Alamofire/issues/2624 и есть ответ от Jon Shier, но я все еще не могу решить проблему после удаления предыдущего xcworkspace и обновления cocoapods, я не реализовал изменение параметра «Generate Position-Dependent Executable»,потому что я не могу найти его. Пожалуйста, поделитесь, если вы можете найти решение этой проблемы:)

Ответы [ 3 ]

0 голосов
/ 19 февраля 2019

Что наконец-то сработало для меня, так это включение зависимого от позиции кода для проекта Pods.Я пытался отключить предупреждения от модулей и очистить (вместо включения) параметр Создать код, зависящий от позиции , но это не помогло.

Отключить -pie для модулей

Чтобы включить зависимый от позиции код (и, следовательно, удалить -pie, который P osition I n-зависимый C ode), после открытия xcworkspace, перейдите вв настройках сборки проекта Pods (настройки для всего проекта Pods, см. скриншот), найдите position и установите для параметра Генерировать зависимый от позиции код значение сборки Да.

Changing pie setting for Pods

0 голосов
/ 20 февраля 2019

Установка «Генерировать код, зависящий от позиции» на «Да» не является правильным решением.Независимо от позиции является предпочтительным.Не предназначенные для приложения цели, такие как фреймворки и библиотеки, всегда будут независимо от позиции, поэтому предупреждение.

Отображаемое предупреждение является сообщением компоновщика, а другой параметр на снимке экрана @ Marcpek кажется более подходящим: «Связывание> Создать позицию»-Зависимый исполняемый файл ".QuickHelp показывает, что это настройка LD_NO_PIE.

Generate Position-Dependent Executable LD_NO_PIE setting

Несмотря на то, что это наследует No в любом случае от значений по умолчанию ОС, я попытался установить его снова в Нетв моих целях CocoaPod явно, и это работало, исправляя предупреждение компоновщика.

Все ваши настройки проекта будут потеряны при следующем запуске pod install, поэтому отредактируйте Podfile, чтобы сделать изменение постоянным.Добавьте config.build_settings['LD_NO_PIE'] = 'NO' в фазу post_install:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['LD_NO_PIE'] = 'NO'
        end
    end
end
0 голосов
/ 06 ноября 2018
  • обновить cocoapods
  • удалить xcworkspace
  • запустить "pod install"
  • очистить папку Build в меню "Продукт"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...