Сбой сборки Nativescript для Algolia iOS - PullRequest
1 голос
/ 14 марта 2019

Я пытаюсь собрать nativescript-algolia , но это не удается на iOS. Это ошибка, которую я получаю:

[!] Unable to determine Swift version for the following pods:

- `AlgoliaSearch-Client-Swift` does not specify a Swift version 
and none of the targets (`appname`) integrating it have the 
`SWIFT_VERSION` attribute set. Please contact the author
or set the `SWIFT_VERSION` attribute in at least one of the 
targets that integrate this pod.

Я перепробовал все, что видел в поиске этой проблемы. Я просто не могу правильно установить версию Swift.

Ответы [ 3 ]

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

С помощью создателя плагина я смог это исправить, понизив версию Cocoapods.

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.5.3

Ссылки:

https://github.com/arpit2438735/nativescript-algolia/issues/19#issuecomment-472847392

Swift Version NativeScript

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

Понижение до 1.5.3 не является правильным обходным путем и не будет устойчивым в будущем. Фактически, эта ошибка связана с новым поведением, введенным в версии Cocoapods 1.6.0, которое вынуждает разработчиков устанавливать версию Swift для своих проектов. На самом деле цель состоит в том, чтобы заставить разработчиков библиотек указывать версию Swift в своих podspec, чтобы пользователям библиотеки не приходилось делать это вручную (например, благодаря сценариям post_install). Вы можете посмотреть мое обсуждение этого вопроса с сопровождающим Cocoapods здесь . Я согласен с тем, что такое поведение немного вводит в заблуждение, поскольку мы пытаемся установить версию Swift в сценарии post_install, но перед тем как ...

возвращается ошибка

На самом деле, как мне сказал сопровождающий, правильным решением этой проблемы является установка версии Swift на уровне проекта (и, следовательно, не на уровне Pod). Чтобы сделать это, просто добавьте новый User Defined Setting в Build Settings, с ключом SWIFT_VERSION и значением 4.0 (например, любое значение должно работать здесь, если вы также установите версию на уровне Pod с помощью скрипта post_install ).

Короче говоря, исправление заключается в добавлении этого ключа / значения: enter image description here

Обратите внимание, что, поскольку вы используете NativeScript, вы можете установить версию Swift, выполнив команду export SWIFT_VERSION=4 в папке проекта перед сборкой.

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

Создайте файл с именем Podfile в App_Resources/iOS и добавьте следующие строки,

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '4.0'
     end
   end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...