Добавить Cocoapods в Swift :0: ошибка:

#swift #cocoapods

#swift #cocoapods

Вопрос:

Я пытаюсь добавить cocoapods в swift. Я добавил файл заголовка в «Настройки сборки» -> Заголовок моста Objective-C -> ProjectName/ProjectName-Bridging-Header.h

ЗАТЕМ в ProjectName-Bridging-Header.h

импортируйте ReactiveCocoa / ReactiveCocoa.h и импортируйте Mantle/ Mantle.h

При его сборке ошибка отображалась следующим образом : :0: ошибка: /Users/…/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:640: ожидаемый селектор для метода Objective-C:0: ошибка: :0: ошибка: /Users/ …/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:647: ожидаемый селектор для метода Objective-C:0: ошибка: /Users/…/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:654: ожидаемый селектор для метода Objective-C. :0: ошибка:/Users/…//Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:640: ожидаемый селектор для метода Objective-C:0: ошибка: /Users/…/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:647: ожидаемый селектор для Objective-Метод C: 0: ошибка: /Users/…/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:654: ожидаемый селектор для метода Objective-C: 0: ошибка: /Users/…/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:640: ожидаемый селектор для метода Objective-C:0: ошибка: /Users/…/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:647: ожидаемый селектор для метода Objective-C: 0: ошибка: /Users/…/Pods/Headers/ReactiveCocoa/ReactiveCocoa/RACSignal Operations.h:654: ожидаемый селектор для метода Objective-C.

Комментарии:

1. В лабораториях WWDC другу сказали, что проблема на самом деле вызвана препроцессором, и она должна быть исправлена с помощью #undef or , #undef and amp; #undef not . К сожалению, у меня это не сработало. 🙁

2. Спасибо за ответ ( : да… Я тоже пробовал этот способ, у меня тоже не получилось.

Ответ №1:

Случается, что компилятор генерирует ошибку, когда видит методы с именами and , or, not . Три из них действительно существуют, именно там, где указывает компилятор, в файле RACSignal Operations.h в строках с номерами 640, 647, 654.

Все, что вам нужно, это переименовать эти методы с помощью инструмента рефакторинга. Например, вы можете добавить префикс rac_, поэтому у меня будет rac_and, rac_or, rac_not . Просто найдите этот метод в RACSignal Operations.h, щелкните правой кнопкой мыши и выберите refactor-переименовать.

Кроме того, я настоятельно рекомендую прочитать этот пост о ReactiveCocoa и Swift: быстрая реакция

Комментарии:

1. Также ни одно из этих слов на самом деле не является зарезервированным словом, и, вероятно, это ошибка компилятора, которая будет исправлена в будущем.