Внезапно получение компилятора "arrayForceCast" в Swift XCode beta 6

После обновления до xcode beta 6 компиляция внезапно взламывается ко мне. Я не получаю никаких встроенных сообщений, только эта ошибка в журнале сборки.

Undefined symbols for architecture i386:
  "__TFSs15_arrayForceCastU___FGSaQ__GSaQ0__", referenced from:
      __TFC9MyProj6NavBar5stackfS0_FCSo20CDVInvokedUrlCommandT_ in NavBar.o

Мне удалось проследить его до этой строки кода, которая отлично работала на бета-версии 5.

// A dictionary of String keys and arrays of NavBarItem instances as values.
var stacks: [String:[NavBarItem]] = [:]

func stack(cmd: CDVInvokedUrlCommand) {
    let stackName: String = cmd.arguments[0] as String

    if let stack = stacks[stackName] {

        // When I comment this line out I get a clean compile.
        navBar.setItems(stack, animated: false)

    }
}

Мое единственное предположение, что мне не нравится как-то преобразовывать из быстрого массива в NSArray. Любые идеи?

Ответ 1

Запустите Организатор, а затем нажмите кнопку "Удалить", как показано ниже. Перестройте, и ошибка исчезнет.

enter image description here

Ответ 2

Я получил эту ошибку даже с новой версией Beta6, которая была выпущена через несколько часов после того, как плохая была доставлена.

В Beta 6 есть некоторые существенные изменения и похоже, что Xcode запутывается. Полная очистка тоже не работала.

Я решил эту и другие аналогично неразборчивые ошибки, удалив содержимое папки Derived. Вы можете найти, где находится эта папка, выбрав "Настройки" > "Местоположения".

Путь по умолчанию:/Пользователи/[ваше имя пользователя]/Library/Разработчик/Xcode/DerivedData​​p >

Ответ 3

У меня была ошибка. Иногда Xcode имеет такие проблемы. Но с помощью приложения Watchdog (доступного в App Store) это никогда не повторилось.

Итак, Watchdog также решил эту ошибку для меня. Я думаю, что он сделал то же самое, что @Paul Ardeleanu сделал вручную.

Ссылка на Mac App Store