invertase / react-native-firebase

🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
https://rnfirebase.io
Other
11.68k stars 2.21k forks source link

Errors compiling iOS Project with Auth module on RNFirebase 2.2.2 #453

Closed GuillaumeNachury closed 7 years ago

GuillaumeNachury commented 7 years ago

When adding the `Firebase/Auth' pod the project does not compile anymore and generate a lot of errors

pod file

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

target 'appMobile' do

  pod 'Firebase/Core'
  pod 'RNFirebase', :path => '../node_modules/react-native-firebase'

  pod "Yoga", :path => "../node_modules/react-native/ReactCommon/yoga"
  pod 'React', :path => '../node_modules/react-native', :subspecs => [
    'BatchedBridge', # Required For React Native 0.45.0+
    'Core',
    # Add any other subspecs you want to use in your project
  ]
  pod 'Firebase/Auth'

  target 'appMobileTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

target 'appMobile-tvOS' do
  # Uncomment this line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for appMobile-tvOS

  target 'appMobile-tvOSTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "React"
      target.remove_from_project
    end
  end
end

Errors appear in RNFirebaseAuth.m

Logs


CompileC /Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/Objects-normal/x86_64/RNFirebaseAuth.o /Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/ReactProjects/appMobile/ios/Pods
    export LANG=en_US.US-ASCII
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu11 -fobjc-arc -fmodules -fmodules-cache-path=/Users/guillaume/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/guillaume/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DPOD_CONFIGURATION_DEBUG=1 -DDEBUG=1 -DCOCOAPODS=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -mios-simulator-version-min=8.0 -g -Wno-sign-conversion -Winfinite-recursion -fobjc-abi-version=2 -fobjc-legacy-dispatch -iquote /Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/RNFirebase-generated-files.hmap -I/Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/RNFirebase-own-target-headers.hmap -I/Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/RNFirebase-all-target-headers.hmap -iquote /Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/RNFirebase-project-headers.hmap -I/Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Products/Debug-iphonesimulator/RNFirebase/include -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Private -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Private/RNFirebase -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/Firebase -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/FirebaseAnalytics -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/FirebaseAuth -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/FirebaseCore -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/FirebaseInstanceID -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/GTMSessionFetcher -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/GoogleInterchangeUtilities -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/GoogleSymbolUtilities -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/GoogleToolboxForMac -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/RNFirebase -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/React -I/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/Yoga -I/Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/DerivedSources/x86_64 -I/Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/DerivedSources -F/Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Products/Debug-iphonesimulator/RNFirebase -include /Users/ReactProjects/appMobile/ios/Pods/Target\ Support\ Files/RNFirebase/RNFirebase-prefix.pch -MMD -MT dependencies -MF /Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/Objects-normal/x86_64/RNFirebaseAuth.d --serialize-diagnostics /Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/Objects-normal/x86_64/RNFirebaseAuth.dia -c /Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m -o /Users/guillaume/Library/Developer/Xcode/DerivedData/appMobile-ejgwfdhqohcvsngaklrufvuvsntl/Build/Intermediates/Pods.build/Debug-iphonesimulator/RNFirebase.build/Objects-normal/x86_64/RNFirebaseAuth.o

/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:564:16: warning: empty paragraph passed to '@param' command [-Wdocumentation]
 @param provider
 ~~~~~~~~~~~~~~^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:565:17: warning: empty paragraph passed to '@param' command [-Wdocumentation]
 @param authToken
 ~~~~~~~~~~~~~~~^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:566:23: warning: empty paragraph passed to '@param' command [-Wdocumentation]
 @param authTokenSecret
 ~~~~~~~~~~~~~~~~~~~~~^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:334:21: error: no visible @interface for 'FIRAuth' declares the selector 'confirmPasswordResetWithCode:newPassword:completion:'
    [[FIRAuth auth] confirmPasswordResetWithCode:code newPassword:newPassword completion:^(NSError *_Nullable error) {
     ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:353:21: error: no visible @interface for 'FIRAuth' declares the selector 'applyActionCode:completion:'
    [[FIRAuth auth] applyActionCode:code completion:^(NSError *_Nullable error) {
     ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:371:55: error: expected ')'
    [[FIRAuth auth] checkActionCode:code completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error){
                                                      ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:371:54: note: to match this '('
    [[FIRAuth auth] checkActionCode:code completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error){
                                                     ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:371:53: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
    [[FIRAuth auth] checkActionCode:code completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error){
                                                    ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:372:13: error: use of undeclared identifier 'error'
        if (error) {
            ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:373:58: error: use of undeclared identifier 'error'
           [self promiseRejectAuthException:reject error:error];
                                                         ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:376:21: error: use of undeclared identifier 'info'
            switch (info.operation) {
                    ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:390:32: error: use of undeclared identifier 'info'; did you mean 'sinf'?
                    @"email": [info dataForKey:FIRActionCodeEmailKey],
                               ^~~~
                               sinf
In module 'UIKit' imported from /Users/ReactProjects/appMobile/ios/Pods/Target Support Files/RNFirebase/RNFirebase-prefix.pch:2:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk/usr/include/math.h:342:14: note: 'sinf' declared here
extern float sinf(float);
             ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:390:32: error: bad receiver type 'float (*)(float)'
                    @"email": [info dataForKey:FIRActionCodeEmailKey],
                               ^~~~
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:371:21: error: no visible @interface for 'FIRAuth' declares the selector 'checkActionCode:completion:'
    [[FIRAuth auth] checkActionCode:code completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error){
     ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:706:14: error: use of undeclared identifier 'FIRAuthErrorCodeExpiredActionCode'
        case FIRAuthErrorCodeExpiredActionCode:
             ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:709:14: error: use of undeclared identifier 'FIRAuthErrorCodeInvalidMessagePayload'
        case FIRAuthErrorCodeInvalidMessagePayload:
             ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:712:14: error: use of undeclared identifier 'FIRAuthErrorCodeInvalidSender'; did you mean 'FIRAuthErrorCodeInvalidAPIKey'?
        case FIRAuthErrorCodeInvalidSender:
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             FIRAuthErrorCodeInvalidAPIKey
In file included from /Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:1:
In file included from /Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.h:6:
In file included from /Users/ReactProjects/appMobile/ios/Pods/Firebase/Core/Sources/Firebase.h:13:
In file included from /Users/ReactProjects/appMobile/ios/Pods/Headers/Public/FirebaseAuth/FirebaseAuth/FirebaseAuth.h:13:
In file included from /Users/ReactProjects/appMobile/ios/Pods/Headers/Public/FirebaseAuth/FirebaseAuth/FIRAuth.h:10:
/Users/ReactProjects/appMobile/ios/Pods/Headers/Public/FirebaseAuth/FirebaseAuth/FIRAuthErrors.h:136:5: note: 'FIRAuthErrorCodeInvalidAPIKey' declared here
    FIRAuthErrorCodeInvalidAPIKey = 17023,
    ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:715:14: error: use of undeclared identifier 'FIRAuthErrorCodeInvalidRecipientEmail'
        case FIRAuthErrorCodeInvalidRecipientEmail:
             ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:712:14: error: duplicate case value 'FIRAuthErrorCodeInvalidAPIKey'
        case FIRAuthErrorCodeInvalidSender:
             ^
/Users/ReactProjects/appMobile/node_modules/react-native-firebase/ios/RNFirebase/auth/RNFirebaseAuth.m:700:14: note: previous case defined here
        case FIRAuthErrorCodeInvalidAPIKey:
             ^
4 warnings and 14 errors generated.

Environment

  1. Application Target Platform: iOS
  1. Development Operating System: macOS Sierra
  1. Build Tools: XCode 8.3.3
  1. React Native version: 0.48.3
  1. RNFirebase Version: 2.2.2
  1. Firebase Module: auth
chrisbianca commented 7 years ago

Sounds like your project might be using an old version of the Firebase pods. Can you check your Podfile.lock to see what version they're using? It should be 4.X.X.

You can then run the following:

pod outdated - shows the pods which have newer versions available pod update - updates all out of date pods

GuillaumeNachury commented 7 years ago

You are absolutely right, I had an outdated pod. I ran a pod update and now the project compiles perfectly.

Thank you. G.

lekeCoder commented 6 years ago

for me, pod update did not do the magic but

react-native update

worked

utafrali commented 5 years ago

for me, pod update did not do the magic but

react-native update

worked

it should be react-native upgrade

it works yeah !

rasfront commented 5 years ago

for me, pod update did not do the magic but react-native update worked

it should be react-native upgrade

it works yeah !

It does not work. It write "Unrecognized command 'update' "