В начале этого проекта я допустил ошибку из-за отсутствия префикса com
в идентификаторе пакета. Теперь я готов к тестированию, и у меня недействительный идентификатор пакета.
В настоящее время мой идентификатор пакета mycompany.myProject
, но я хочу, чтобы он был com.mycompany.myproject
. У меня нет проблем с переключением на желаемый идентификатор пакета для архивирования приложения и загрузки в магазин приложений.
Шаги, которые я предпринял, чтобы переключить приложение на соответствующий идентификатор пакета:
- Создайте новое приложение в консоли firebase с правильным идентификатором пакета.
- Загрузите Google-Info.plist этого нового приложения, поместите его в корень проекта и перетащите в проект Xcode.
- Изменить идентификатор пакета на Facebook
- Изменить идентификатор пакета в настройках проекта
Однако приложение выдает фатальный сбой с этой ошибкой.
*** Terminating app due to uncaught exception 'InvalidPathValidation', reason: '(child:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']''
Эта ошибка возникает при вызове метода Firebase.
- (NSString *) getUid {
return [FIRAuth auth].currentUser.uid;
}
Этот метод возвращает nil
, который передает метод для получения данных из Firebase. Возврат nil
этого метода вызывает ошибку InvalidPathValidation
.
Я аутентифицируюсь через Facebook. Я подумал, что, возможно, причина, по которой это возвращается nil
, заключается в том, что приложение не знает, кто вошел в систему, потому что мне никогда не предлагалось войти в систему (мое приложение проверяет, вошли ли вы через Facebook в viewWillAppear
при открытии ViewController). Однако это не имеет смысла, потому что единственное изменение, которое я внес, - это изменение идентификатора пакета. Я застрял на этой проблеме почти неделю.
Мне особенно интересно, что мне нужно изменить, чтобы Firebase приняла изменения идентификатора пакета.