2016-07-06 14 views
2

Я работаю над созданием библиотеки Swift и am hosting it on GitHub.Команда Linker не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов) с Swift 3

Все шло хорошо, пока я не добавил BluetoothKit к проекту. Затем я получил ошибку Apple, Mach-O компоновщика:

ld: warning: directory not found for option '-F/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.0.sdk/Developer/Library/Frameworks' 
ld: /Users/calebklevetertest/Library/Developer/Xcode/DerivedData/Napalm-dblvhbjdwovurocsvzrzaxzkjjyw/Build/Products/Debug-iphonesimulator/Napalm.framework/Napalm compiled with older version of Swift language (2.0) than previous files (3.0) for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

От чтения ошибки он появляется вопрос каким-то образом связано с тем, я использую Swift 3, но я не могу понять, как это исправить.

Я преобразовал BluetoothKit в Swift 3, когда я его добавил.

Существует один класс, который использует BluetoothKit и называется NPFBluetooth.

Пара примечаний: 1) Несмотря на то, что класс является общедоступным, компилятор дает ошибку «неразрешенный идентификатор», 2) класс не отображается в автозаполнении и 3) все остальные классы работают хорошо.

+2

Я знаю, что это часто бесполезное предложение, но вы пробовали удалить полученные данные и восстановление? –

+0

@PhillipMills, это действительно исправлено! Благодаря! Однако предупреждение все еще существует. –

ответ

0

Я столкнулся с ошибкой, мигрирующей в swift3. Как выясняется, Xcode хранит копии встроенных фреймворков и перемещение в swift3, по-видимому, не является репликой для их восстановления (даже после того, как выяснилось, что он был построен с использованием swift2 ... не давайте вместо этого расплывчатой ​​ошибки ...)

решения заключается в delete the content of your 'derived data' folder.

Работа для рамок, установленных с Карфагеном и cocoapods .....

0

Перейдите к настройкам сборки и теперь переключите настройки цели на ENABLE_BITCODE = YES. Это работает для меня;)