Подтвердить что ты не робот

Xcode 8.0 beta дает ошибку после импорта Firebase

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

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

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

Снимок экрана с ошибкой сборки FIRApp.h

Также такая ошибка в консоли:

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

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

4b9b3361

Ответ 1

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

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

Ошибка в цепочке ключей фиксируется в Xcode 8.2.

Ответ 2

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

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

Ответ 3

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

Очистите проект и выполните его.

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