Ошибка команды компоновщика: повторяющийся символ для архитектуры arm64

У меня возникает эта ошибка при запуске моего проекта. Я сослался на так много ответов и сделал то же самое, но не могу решить эту проблему.

duplicate symbol _kReachabilityChangedNotification in:
/Users/admin/Downloads/workRepo/SafetraxApp/MAppIOS/build2/Safetrax/Build/Intermediates/Safetrax.build/Debug-iphoneos/Parent App.build/Objects-normal/arm64/Reachability.o
Pods/catapush-ios-sdk-pod/CatapushKit/libCatapushLib.a(CLIntReachability.o)
ld: 1 duplicate symbol for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

person Himanth    schedule 11.07.2016    source источник
comment
Скорее всего, вы импортируете Reachability в два или более классов, что приводит к конфликту имен. Найдите на нем импорт и посмотрите, сможете ли вы удалить дубликат.   -  person CodeBender    schedule 11.07.2016


Ответы (1)


Я предполагаю, что вы используете фрагмент Reachability от Apple. К сожалению, этот фрагмент кода и сопровождающие его константы используются в нескольких Cocoapods. Вот что вызывает эту ошибку. В основном это означает, что символ/константа kReachabilityChangedNotification был определен дважды в вашем двоичном файле: один раз в вашем приложении и один раз в модуле CatapushKit.

Самый простой способ исправить это: переименовать константу в коде. Другой вариант — удалить код Reachbility из вашего приложения и использовать реализацию CLIntReachability из CatapushKit.

person Jens Meder    schedule 11.07.2016
comment
идеальный ответ @Jens Meder - person Himanth; 12.07.2016