Я столкнулся с этой проблемой с моим самостоятельно разработанным cocoapod.
Ошибка была: Apple Mach-O Linker errror
Оказалось, что я определил протокол и реализовал расширение протокола.Один из методов расширения протокола был общедоступным, а сам протокол - нет.И это вызвало ошибку Apple Mach-O Linker.
Пример:
протокол MyProtocol {var field: String {get}}
расширение MyProtocol { public func giveMeSomething () -> String}
открытый класс MyClass: MyProtocol {}
В описании ошибки упоминается MyClass, на который ссылается MyProtocol -> MyProtocol, на который ссылаются на giveMeSomething () ...
Итак, решение состояло в том, чтобы сделать Myprotocol также public
Надеюсь, что кому-то поможет.