2016-08-26 3 views
13

Я создаю пустой быстрый проект с Xcode 8.0 beta 5 или 6 и импортирую Firebase с использованием cocoapods, таких как Firebase. Все отлично в процессе импорта. Я настраиваю firebase с комментарием FIRApp.Configure(). Я могу работать с аутентификацией, но когда я пытаюсь добраться до базы данных, это не сработало.Xcode 8.0 beta дает ошибку после импорта Firebase

ошибка во время сборки в FIRApp.h как:

"Conflicting nullability specifier on return types, 'nullable' conflicts with existing specifier 'non null'" 

Screenshot of FIRApp.h Build-time error

Кроме того, эти рода ошибки в консоли:

2016-08-26 13:00:32.719: <FIRInstanceID/WARNING> STOP!! Will reset deviceID from memory. 
2016-08-26 13:00:32.719: <FIRInstanceID/WARNING> Failed to fetch default token Error Domain=com.firebase.iid Code=6 "(null)" 

2016-08-26 13:02:08.329: <FIRInstanceID/WARNING> Failed to retrieve the default GCM token after 5 retries 

я не мог решить эту проблему.

+0

У меня есть почти такие же ПРЕДУПРЕЖДЕНИЯ. Я просто игнорировал их, так как каждый человек работает отлично. –

+0

@ TarvoMäesepp Я получил эту ошибку, когда попытался войти или зарегистрировать нового пользователя в своем приложении, – Alexander

+0

. Посмотрите http://stackoverflow.com/questions/38456471/secitemadd-always-returns-error-34018-in- xcode-8-in-ios-10-симулятор. Помогает мне. – Alexander

ответ

12

Предупреждение о времени сборки связано с обновлением Xcode 8 при проверке декларации об идентификаторе. Это должно быть безобидным и фиксированным в предстоящем выпуске.

Ошибки FIRInstanceID связаны с ошибкой keychain в бета-версии Xcode 8. См. Это radar. Проблема с цепочкой ключей влияет только на работу симуляторов. Должно быть исправление до окончания бета-тестирования. Тем временем, обходной путь заключается в том, чтобы включить обмен ключами (см. Ответ Бенджамина) или использовать реальное устройство.

Ошибка в цепочке ключей исправлена ​​в Xcode 8.2.

9

На самом деле это не связано с какой-либо ошибкой, а с тем, что ваш доступ к брелокам отключен по умолчанию, и вам необходимо включить его.

От Навигатор по проекту, выберите цель. Под вкладкой «» вкладки «Возможности», включите разделение брелка. Это должно избавиться от всех проблем.

+0

Согласно документам: «Включение совместного использования ключей позволяет вашему приложению делиться паролями в цепочке ключей с другими приложениями, разработанными вашей командой». Мы не создаем другие приложения, поэтому зачем мне это нужно? – Leon

+0

Хотя это может показаться не совсем понятным, вы фактически позволяете ему делиться с Firebase. Согласитесь, вы сами не разрабатывали Firebase, но Firebase создает «приложение» (репозиторий), специфичное для вашего проекта. – Benjamin

+0

Я не использую Firebase. – Leon

0

Предупреждения о времени сборки могут быть установлены таким образом.
Перейти к Pods -> Build Settings -> Use Legacy Swift Language Version и установить его на No, это сработало для меня.

Очистить свой проект и построить.

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

Смежные вопросы