Я обговорював подібне повідомлення про помилку з інженером Apple на WWDC2017. Здається, ця проблема може мати багато причин, і я усвідомлюю, що моя дещо відрізняється від описаної вище.
Моя команда тижнями намагалася це зрозуміти, і в підсумку це виявилося помилкою компілятора Apple, яку ми ніколи не могли зрозуміти самі. Крім того, він має ДУЖЕ просте обхідне рішення.
Отже, це лише я розміщую тут виправлення, щоб максимізувати ймовірність того, що хтось інший шукає це заплутане повідомлення про помилку і знаходить цю відповідь.
Отже, ось воно. У нашому випадку у нас був проект Objective-C з використанням поєднання фреймворків Swift та Objective-C. Це виправлення може застосовуватися в дещо іншому контексті, просто спробуйте.
Трапляється помилка з тим, як компілюючі прапори агрегуються з фреймворків та проекту, а проект "чистого Objective-C" його "активує".
Рішення: додайте один порожній файл Swift ("Whatever.swift" або будь-який інший) у свій проект Objective-C, роблячи його вже не чисто-цільовим-c (new-> file-> Swift file, don't створити заголовок моста. Файл міститиме лише імпорт Foundation).