Firebase Quickstart Samples for iOS

Overview

Firebase Quickstarts for iOS

A collection of quickstart samples demonstrating the Firebase APIs on iOS. Each sample contains targets for both Objective-C and Swift. For more information, see https://firebase.google.com.

Samples

You can open each of the following samples as an Xcode project, and run them on a mobile device or a simulator. Simply install the pods and open the .xcworkspace file to see the project in Xcode.

$ pod install --repo-update
$ open your-project.xcworkspace

When doing so you need to add each sample app you wish to try to a Firebase project on the Firebase console. You can add multiple sample apps to the same Firebase project. There's no need to create separate projects for each app.

To add a sample app to a Firebase project, use the bundleID from the Xcode project. Download the generated GoogleService-Info.plist file, and replace the existing plist to the root directory of the sample you wish to run.

Code Formatting

To ensure that the code is formatted consistently, run the script ./scripts/style.sh before creating a PR.

GitHub Actions will verify that any code changes are done in a style compliant way. Install mint and swiftformat:

brew install mint
mint bootstrap
./scripts/style.sh

How to make contributions?

Please read and follow the steps in the CONTRIBUTING.md

License

See LICENSE

Comments
  • FCMSwift. Notifications don't appear

    FCMSwift. Notifications don't appear

    I send notifications like this: { "aps" : { "alert" : { "title" : "Game Request", "body" : "Bob wants to play poker"

        },
        "badge" : 1
    
    },
    

    "data":{ "to_user_ids":[1], "subject":"TEXT", "msg":"STRINGS" } }

    My app receives the notifications and in the "func application(application: UIApplication, didReceiveRemoteNotification userInfo.." it prints userInfo with data. But the app doesn't show any notifications at the device and, when the app in background it neither prints message on console nor shows notifications at device.

    Could you give me clear clues how to recive notifications when the app in background, handle in the code and show them on the notifications area?

    Thanks

    P.S. I wasn't able to figure out it on https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH107-SW1

    opened by almaz1213 99
  • Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001

    Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)"

    Just update my app to xcode 8 and swift 2.3. Since then, Apple's notifications have been broken. I check in logs and I have this error message Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)"

    I restart from scratch and setup a hello world project, recreated my p12 key, copy/paste the content of this file https://github.com/firebase/quickstart-ios/blob/master/messaging/FCMSwift/AppDelegate.swift in my AppDelegate and I still have the same issue...

    Here's my pods version:

    • Firebase (3.6.0)
    • FirebaseAnalytics (3.4.2)
    • FirebaseInstanceID (1.0.8)
    • FirebaseMessaging (1.2.0)

    Provisioning Profile is in auto mode and everything seems to be valid. Push notifications are Enabled in Dev mode on my apple account.

    Here's my logs:

    2016-09-27 12:04:46.813: <FIRMessaging/INFO> FIRMessaging library version 1.2.0
    2016-09-27 12:04:46.874 test_storyboard[29198:] <FIRAnalytics/INFO> Firebase Analytics v.3402000 started
    2016-09-27 12:04:46.875 test_storyboard[29198:] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/Y0Yjwu)
    2016-09-27 12:04:46.891: <FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
    2016-09-27 12:04:46.891: <FIRInstanceID/WARNING> Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)"
    2016-09-27 12:04:46.898: <FIRMessaging/WARNING> FIRMessaging AppDelegate proxy enabled, will swizzle app delegate remote notification receiver handlers. Add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
    2016-09-27 12:04:46.970 test_storyboard[29198:] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
    2016-09-27 12:04:46.991: <FIRMessaging/WARNING> FIRMessaging registration is not ready with auth credentials
    2016-09-27 12:04:47.935 test_storyboard[29198:] <FIRAnalytics/INFO> Firebase Analytics enabled
    

    I checked with Swift3 and it's the same issue.

    Any help or test / debug info that I can add will be helpful !

    opened by arnaudlamy 73
  • FCM Push notifications do not work on iOS 11

    FCM Push notifications do not work on iOS 11

    I use Firebase as a backend. I also use FCM as one of the provided features from Firebase. FCM worked well in iOS 10, but after switching to iOS 11, push notifications stopped coming to user devices, and I myself did not receive any push notifications sent from the cloud functions or the Notification section in the Firebase Console. How to fix this problem?

    Update: I sent several push notifications from Firebase Notifcations, but they do not come.

    // MARK: - Push notification
    
    extension AppDelegate: UNUserNotificationCenterDelegate {
        
        func registerPushNotification(_ application: UIApplication) {
            // For iOS 10 display notification (sent via APNS)
            UNUserNotificationCenter.current().delegate = self
            
            let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
            UNUserNotificationCenter.current().requestAuthorization(
                options: authOptions,
                completionHandler: {_, _ in })
                    
            // For iOS 10 data message (sent via FCM)
            Messaging.messaging().delegate = self
        }
        
        func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
            //When the notifications of this code worked well, there was not yet.
            Messaging.messaging().apnsToken = deviceToken
        }
        
        // [START receive_message]
        func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
            // If you are receiving a notification message while your app is in the background,
            // this callback will not be fired till the user taps on the notification launching the application.
            // TODO: Handle data of notification
            // Print message ID.
            if let messageID = userInfo[gcmMessageIDKey] {
                debugPrint("Message ID: \(messageID)")
            }
            
            // Print full message.
            debugPrint(userInfo)
        }
        
        func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
                         fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
            // If you are receiving a notification message while your app is in the background,
            // this callback will not be fired till the user taps on the notification launching the application.
            // TODO: Handle data of notification
            // Print message ID.
            if let messageID = userInfo[gcmMessageIDKey] {
                print("Message ID: \(messageID)")
            }
            
            // Print full message.
            debugPrint(userInfo)
            
            completionHandler(.newData)
        }
        
        // showing push notification
        
        func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
            if let userInfo = response.notification.request.content.userInfo as? [String : Any] {
                let routerManager = RouterManager()
                routerManager.launchRouting(userInfo)
            }
            completionHandler()
        }
        
        func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
            if let userInfo = notification.request.content.userInfo as? [String : Any] {
                if let categoryID = userInfo["categoryID"] as? String {
                    if categoryID == RouterManager.Categories.newMessage.id {
                        if let currentConversation = ChatGeneralManager.shared.currentChatPersonalConversation, let dataID = userInfo["dataID"] as? String  {
                            // dataID is conversationd id for newMessage
                            if currentConversation.id == dataID {
                                completionHandler([])
                                return
                            }
                        }
                    }
                }
                if let badge = notification.request.content.badge {
                    AppBadgesManager.shared.pushNotificationHandler(userInfo, pushNotificationBadgeNumber: badge.intValue)
                }
            }
            completionHandler([.alert,.sound, .badge])
        }
        
    }
    
    // [START ios_10_data_message_handling]
    extension AppDelegate : MessagingDelegate {
        
        func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
            let pushNotificationManager = PushNotificationManager()
            pushNotificationManager.saveNotificationTokenInDatabase(token: fcmToken, success: nil, fail: nil)
        }
    
        
        // Receive data message on iOS 10 devices while app is in the foreground.
        func application(received remoteMessage: MessagingRemoteMessage) {
            debugPrint(remoteMessage.appData)
        }
        
    }
    
    opened by alexanderkhitev 64
  • Push Notifications not working after update to Firebase 4.0

    Push Notifications not working after update to Firebase 4.0

    I updated my pods yesterday to the new Firebase 4.0. I went through the suggested changes and grabbed code from this Github example. I installed the APNS key .p8 file from Apple. Re-Downloaded the google.plist file to my project. turned swizzling off. Replaced this examples code with my own. I will be honest I am at a loss, I take the FCM Token from the console and send a message from the firebase console and I get nothing.

    I refresh and it says the message was sent but I check the xCode console and the device and nothing is there. What am I missing? Is there any way to figure out where the message is getting jammed up?

    
    //
    //  Created by Erik Grosskurth on 4/24/17.
    //
    
    import UIKit
    import UserNotifications
    import Firebase
    import Quickblox
    import QuickbloxWebRTC
    
    let kQBApplicationID:UInt = 1234
    let kQBAuthKey = "sfgsrvsrvsr"
    let kQBAuthSecret = "wsevwrvwervwrv"
    let kQBAccountKey = "wrvwrvwrvwrvwrvw"
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
        
        var window: UIWindow?
        let gcmMessageIDKey = "gcm.message_id"
        
        func application(_ application: UIApplication,
                         didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
            
            // [ START Quickblox config ]
            QBSettings.setApplicationID(kQBApplicationID)
            QBSettings.setAuthKey(kQBAuthKey)
            QBSettings.setAuthSecret(kQBAuthSecret)
            QBSettings.setAccountKey(kQBAccountKey)
            QBSettings.setApiEndpoint("https://apicaduceustelemed.quickblox.com", chatEndpoint: "chatcaduceustelemed.quickblox.com", forServiceZone: .production)
            QBSettings.setServiceZone(.production)
            QBSettings.setKeepAliveInterval(30)
            QBSettings.setAutoReconnectEnabled(true)
            QBRTCConfig.setStatsReportTimeInterval(1)
            QBRTCConfig.setDialingTimeInterval(5)
            QBRTCConfig.setAnswerTimeInterval(60)
            // [ END Quickblox config ]
            
            FirebaseApp.configure()
            
            // [START set_messaging_delegate]
            Messaging.messaging().delegate = self
            // [END set_messaging_delegate]
            // Register for remote notifications. This shows a permission dialog on first run, to
            // show the dialog at a more appropriate time move this registration accordingly.
            // [START register_for_notifications]
            if #available(iOS 10.0, *) {
                // For iOS 10 display notification (sent via APNS)
                UNUserNotificationCenter.current().delegate = self
                
                let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
                UNUserNotificationCenter.current().requestAuthorization(
                    options: authOptions,
                    completionHandler: {_, _ in })
            } else {
                let settings: UIUserNotificationSettings =
                    UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
                application.registerUserNotificationSettings(settings)
            }
            
            application.registerForRemoteNotifications()
            
            // [END register_for_notifications]
            return true
        }
        
        // [START receive_message]
        func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
            // If you are receiving a notification message while your app is in the background,
            // this callback will not be fired till the user taps on the notification launching the application.
            // TODO: Handle data of notification
            // With swizzling disabled you must let Messaging know about the message, for Analytics
            Messaging.messaging().appDidReceiveMessage(userInfo)
            // Print message ID.
            if let messageID = userInfo[gcmMessageIDKey] {
                print("Message ID: \(messageID)")
            }
            
            // Print full message.
            print(userInfo)
        }
        
        func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
                         fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
            // If you are receiving a notification message while your app is in the background,
            // this callback will not be fired till the user taps on the notification launching the application.
            // TODO: Handle data of notification
            // With swizzling disabled you must let Messaging know about the message, for Analytics
            Messaging.messaging().appDidReceiveMessage(userInfo)
            // Print message ID.
            if let messageID = userInfo[gcmMessageIDKey] {
                print("Message ID: \(messageID)")
            }
            
            // Print full message.
            print(userInfo)
            
            completionHandler(UIBackgroundFetchResult.newData)
        }
        // [END receive_message]
        func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
            print("Unable to register for remote notifications: \(error.localizedDescription)")
        }
        
        // This function is added here only for debugging purposes, and can be removed if swizzling is enabled.
        // If swizzling is disabled then this function must be implemented so that the APNs token can be paired to
        // the FCM registration token.
        func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
            print("APNs token retrieved: \(deviceToken)")
            
            // With swizzling disabled you must set the APNs token here.
            Messaging.messaging().apnsToken = deviceToken
        }
    }
    
    // [START ios_10_message_handling]
    @available(iOS 10, *)
    extension AppDelegate : UNUserNotificationCenterDelegate {
        
        // Receive displayed notifications for iOS 10 devices.
        func userNotificationCenter(_ center: UNUserNotificationCenter,
                                    willPresent notification: UNNotification,
                                    withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
            let userInfo = notification.request.content.userInfo
            
            // With swizzling disabled you must let Messaging know about the message, for Analytics
            Messaging.messaging().appDidReceiveMessage(userInfo)
            // Print message ID.
            if let messageID = userInfo[gcmMessageIDKey] {
                print("Message ID: \(messageID)")
            }
            
            // Print full message.
            print(userInfo)
            
            // Change this to your preferred presentation option
            completionHandler([])
        }
        
        func userNotificationCenter(_ center: UNUserNotificationCenter,
                                    didReceive response: UNNotificationResponse,
                                    withCompletionHandler completionHandler: @escaping () -> Void) {
            let userInfo = response.notification.request.content.userInfo
            // Print message ID.
            if let messageID = userInfo[gcmMessageIDKey] {
                print("Message ID: \(messageID)")
            }
            
            // Print full message.
            print(userInfo)
            
            completionHandler()
        }
    }
    // [END ios_10_message_handling]
    
    extension AppDelegate : MessagingDelegate {
        // [START refresh_token]
        func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
            print("Firebase registration token: \(fcmToken)")
        }
        // [END refresh_token]
        // [START ios_10_data_message]
        // Receive data messages on iOS 10+ directly from FCM (bypassing APNs) when the app is in the foreground.
        // To enable direct data messages, you can set Messaging.messaging().shouldEstablishDirectChannel to true.
        func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) {
            print("Received data message: \(remoteMessage.appData)")
        }
        // [END ios_10_data_message]
    }
    
    
    opened by djErock 61
  • Support for

    Support for "mutable-content": true

    The documentation for UNNotificationServiceExtension indicates

    • The remote notification’s aps dictionary includes the mutable-content key with the value set to 1.

    The FCM documentation at https://firebase.google.com/docs/cloud-messaging/http-server-ref#send-downstream does not make reference to the mutable-content key or a way to set the mutable-content key.

    if I include "mutable-content": true as part of the notification dictionary within the payload submitted to FCM, the value is received (outside of the aps dictionary) on iOS as

        "gcm.notification.mutable-content" = true;
    

    When will FCM support the mutable-content capability? How will I need to specify this within the FCM payload so that it will be received on iOS and allow the use of a UNNotificationServiceExtension to pre-process the received notification?

    opened by daveanderson 54
  • Can't subscribe to topic

    Can't subscribe to topic

    I'm trying to subscribe to a topic using the following code (from device):

    func connectToFcm() {
        FIRMessaging.messaging().connectWithCompletion { (error) in
            if (error != nil) {
                print("Unable to connect with FCM. \(error)")
            } else {
                print("Connected to FCM.")
                FIRMessaging.messaging().subscribeToTopic("/topics/default-notifications-channel")
            }
        }
    }
    

    The debugger shows the following message:

    <FIRMessaging/WARNING> Failed to subscribe to topic Error Domain=com.google.fcm Code=5 "(null)"
    

    I can receive device targeted notifications so APNS configuration is working correctly.

    Using Firebase (3.8.0)
    Using FirebaseAnalytics (3.5.1)
    Using FirebaseCore (3.4.4)
    Using FirebaseInstanceID (1.0.8)
    Using FirebaseMessaging (1.2.1)
    

    Any ideas? Thank you!

    opened by sendoa 53
  • Memory leak in Firebase Analytics on app launch

    Memory leak in Firebase Analytics on app launch

    Hi all

    I am using the SDK in swift 3 by in Xcode 8.2.1.

    Here is my setup:

    1. APN Certs are uploaded to Firebase
    2. Create single tab app with my registered bundle name,
    3. Import the sdk by pod, (pod update is run)
    4. Include google service info plist
    5. Edit the appDelegate.swift (import Firebase & FIRApp.configure() in didFinishLaunchingWithOptions )

    When I run instrument, it shows leak. but I would be find if I comment the line FIRApp.configure()

    Is there any missing on my setup?

    Thanks & Regards Taka Wong

    opened by takawww 35
  • Firebase dynamic link always goes to app store URL even if the app is installed

    Firebase dynamic link always goes to app store URL even if the app is installed

    I am trying to integrate Firebase dynamic link into IOS app but the problem is that even if the app is installed the dynamic link is taking me to app store page to download the App from app store. Did anybody face the same problem and have solution for the same.

    opened by ajaybeniwal 34
  • Not receiving push notifications in prod (or ad hoc build)

    Not receiving push notifications in prod (or ad hoc build)

    Hi, I have exactly le same problem that the issue #201 ,

    Into my .plist, I have : capture d ecran 2017-01-06 a 09 41 22

    And into my Delegate, I've tried many things like : FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: FIRInstanceIDAPNSTokenType.sandbox)

    or FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: FIRInstanceIDAPNSTokenType.prod)

    or with .unknown also. Everything work in development but not in prod (or ad Hoc).

    This is a screenshot of my code : capture d ecran 2017-01-06 a 09 58 32

    Do you have an idea ?

    Thanks in advance, Antoine

    opened by shinzao 30
  • Firebase Crashlytics: Unable to run unit tests - *** Terminating app due to uncaught exception 'FABException', reason: '[Fabric] Value of Info.plist key

    Firebase Crashlytics: Unable to run unit tests - *** Terminating app due to uncaught exception 'FABException', reason: '[Fabric] Value of Info.plist key "Fabric" must be a NSDictionary.'

    Hi there!

    I am trying to run unit tests and I have happened upon this error.

    Here is the call stack:

    *** First throw call stack: ( 0 CoreFoundation 0x0000000110de51e6 __exceptionPreprocess + 294 1 libobjc.A.dylib 0x000000010f9f4031 objc_exception_throw + 48 2 CoreFoundation 0x0000000110e5a975 +[NSException raise:format:] + 197 3 eulerity-ios dev 0x0000000106f92efb -[Fabric validFabricConfigFromInfoPlist:] + 353 4 eulerity-ios dev 0x0000000106f92bd1 -[Fabric fabricConfig] + 127 5 eulerity-ios dev 0x0000000106f92d03 -[Fabric APIKey] + 258 6 eulerity-ios dev 0x0000000106f5c627 -[Crashlytics APIKey] + 55 7 eulerity-ios dev 0x0000000106f68475 -[CLSCrashReportingController APIKey] + 57 8 eulerity-ios dev 0x0000000106f67af1 -[CLSCrashReportingController startWithProfilingMark:betaToken:] + 258 9 eulerity-ios dev 0x0000000106f5bfd8 __20-[Crashlytics start]_block_invoke + 637 10 libdispatch.dylib 0x00000001122ad779 _dispatch_client_callout + 8 11 libdispatch.dylib 0x00000001122aec0a dispatch_once_f + 55 12 eulerity-ios dev 0x0000000106f5bd55 -[Crashlytics start] + 106 13 eulerity-ios dev 0x0000000106f5c18a +[Crashlytics initializeIfNeeded] + 48 14 LNRDStagingUnitTests 0x0000000130ffa360 __15+[Fabric with:]_block_invoke + 538 15 libdispatch.dylib 0x00000001122ad779 _dispatch_client_callout + 8 16 libdispatch.dylib 0x00000001122aec0a dispatch_once_f + 55 17 LNRDStagingUnitTests 0x0000000130ffa144 +[Fabric with:] + 222 18 LNRDStagingUnitTests 0x0000000130ffbd8f __14+[Fabric load]block_invoke + 844 19 Foundation 0x000000010afec324 -[__NSObserver _doit:] + 298 20 CoreFoundation 0x0000000110d80b8c _CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER + 12 21 CoreFoundation 0x0000000110d80a65 _CFXRegistrationPost + 453 22 CoreFoundation 0x0000000110d807a1 ___CFXNotificationPost_block_invoke + 225 23 CoreFoundation 0x0000000110d42422 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1826 24 CoreFoundation 0x0000000110d415a1 _CFXNotificationPost + 609 25 Foundation 0x000000010aface57 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66 26 eulerity-ios dev 0x00000001070691fa +[FIRApp sendNotificationsToSDKs:] + 442 27 eulerity-ios dev 0x00000001070675e9 +[FIRApp configureDefaultAppWithOptions:sendingNotifications:] + 457 28 eulerity-ios dev 0x0000000107067345 +[FIRApp configure] + 501 29 eulerity-ios dev 0x0000000106e73e60 _T016eulerity_ios_dev11AppDelegateC11applicationSbSo13UIApplicationC_s10DictionaryVySC0G16LaunchOptionsKeyVypGSg022didFinishLaunchingWithJ0tF + 608 30 eulerity-ios dev 0x0000000106e7880a _T016eulerity_ios_dev11AppDelegateC11applicationSbSo13UIApplicationC_s10DictionaryVySC0G16LaunchOptionsKeyVypGSg022didFinishLaunchingWithJ0tFTo + 186 31 UIKit 0x000000010ce1275b -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 278 32 UIKit 0x000000010ce141d2 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4123 33 UIKit 0x000000010ce1962b -[UIApplication _runWithMainScene:transitionContext:completion:] + 1677 34 UIKit 0x000000010d1dbe4a __111-[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:]_block_invoke + 866 35 UIKit 0x000000010d5ae909 +[_UICanvas _enqueuePostSettingUpdateTransactionBlock:] + 153 36 UIKit 0x000000010d1dba86 -[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:] + 236 37 UIKit 0x000000010d1dc2a7 -[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 675 38 UIKit 0x000000010db4d4d4 __82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 299 39 UIKit 0x000000010db4d36e -[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 433 40 UIKit 0x000000010d83162d __125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 221 41 UIKit 0x000000010da2c387 _performActionsWithDelayForTransitionContext + 100 42 UIKit 0x000000010d8314f7 -[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 223 43 UIKit 0x000000010d5adfb0 -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 392 44 UIKit 0x000000010ce17f0c -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 515 45 UIKit 0x000000010d3eaa97 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 361 46 FrontBoardServices 0x00000001168fc2f3 -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 331 47 FrontBoardServices 0x0000000116904cfa __56-[FBSWorkspace client:handleCreateScene:withCompletion:]_block_invoke_2 + 225 48 libdispatch.dylib 0x00000001122ad779 dispatch_client_callout + 8 49 libdispatch.dylib 0x00000001122b2931 dispatch_block_invoke_direct + 317 50 FrontBoardServices 0x0000000116930470 _FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 24 51 FrontBoardServices 0x000000011693012e -[FBSSerialQueue _performNext] + 439 52 FrontBoardServices 0x000000011693068e -[FBSSerialQueue _performNextFromRunLoopSource] + 45 53 CoreFoundation 0x0000000110d87bb1 _CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 54 CoreFoundation 0x0000000110d6c4af __CFRunLoopDoSources0 + 271 55 CoreFoundation 0x0000000110d6ba6f __CFRunLoopRun + 1263 56 CoreFoundation 0x0000000110d6b30b CFRunLoopRunSpecific + 635 57 GraphicsServices 0x0000000115171a73 GSEventRunModal + 62 58 UIKit 0x000000010ce1b0b7 UIApplicationMain + 159 59 eulerity-ios dev 0x0000000106e80ad7 main + 55 60 libdyld.dylib 0x0000000112322955 start + 1 61 ??? 0x0000000000000005 0x0 + 5 ) libc++abi.dylib: terminating with uncaught exception of type NSException

    SIGABRT exception in line 393 of FIRApp.m

    I am assuming this has to do with some sort of pod setup for my unit testing target and was hoping someone could help point me in the right direction of how to solve this? Querying previous issues and StackOverflow has proved unhelpful.

    I followed the guide here - added the appropriate cocoa pods to my main target (pod 'Fabric', '~> 1.7.7' pod 'Crashlytics', '~> 3.10.2'), added the Crashlytics runscript to my main target, and I am inheriting complete search paths in my unit testing target.

    If there's any more information I can provide, let me know. Thanks!

    opened by halinebr 27
  • Dynamic link not working with facebook

    Dynamic link not working with facebook

    From 5 days our links are broken in Facebook and Instagram Webview... For example https://dyn.bantoa.com/rniX

    Here you will find two screencasts: https://we.tl/t-IvB5aYtKfv

    opened by manu89ft 26
  • some parameters of dynamic_link_app_open event are not received

    some parameters of dynamic_link_app_open event are not received

    Dear Sir,

    I am writing to ask about the parameters of firebase dynamic_link_app_open event.

    We can receive dynamic_link_app_open event successfully in bigQuery DB and Firebase console DebugView. But some parameters of dynamic_link_app_open event are missing, such as dynamic_link_link_id, dynamic_link_link_name, and dynamic_link_accept_time when triggering the dynamic link to open iOS App. There is no above parameters missing when opening Android App.

    iOS result: https://drive.google.com/file/d/1oHHAI4cKvpWkdr_JgAFT7SZAGHy6bUc9/view?usp=sharing

    Android result: https://drive.google.com/file/d/1FhUmAJTryf0s7wreykgFv6zfM70TtLiu/view?usp=sharing

    thanks.

    opened by yichi0829 0
  • Firebase Dynamic link handling in iOS App

    Firebase Dynamic link handling in iOS App

    On tapping dynamic link shared through application, opens the app but all time gives error when, try to get dynamicLink object from the dynamic link to get the deep link and data passed along with the dynamic link.

    For more details & also give answers related to this see my post on Stack OverFlow

    opened by AalokParikh 0
  • Create branch and update tests for Firebase 9

    Create branch and update tests for Firebase 9

    In order to maintain compatibility with both master and 9.0 in the upstream SDK repo, this repo will need to maintain two separate branches as well. This issue roughly outlines what needs to be done:

    • [x] Create firebase-9 branch in this repository
    • [ ] Update CocoaPods sources for legacy quickstarts and SPM sources for new quickstarts to point to the v9b branch on the new firebase-9 branch.
    • [ ] Update all dependencies and fix any build/test breakages that result.
    • [ ] Re-enable tests for Storage and Database and fix any breakages.
    opened by morganchen12 1
  • [firebase_messaging] Notification Sound is not working on IOS 15 when app in forground

    [firebase_messaging] Notification Sound is not working on IOS 15 when app in forground

    When I send Notification and iOs app is in foreground then notification sound is not working on iOs 15. sound work fine when app in background. it also work fine in iOS 14

    apns paylod: userInfo -> [AnyHashable("aps"): { alert = { body = "Kledn Company - hi"; title = Chat; }; badge = 22; category = "https://preprod.risebuildings.com/#/app/resident/messages/chat-details/6131e95a02008ceb91df7f1f"; sound = "default.caf"; }, AnyHashable("gcm.message_id"): 1633432922216200, AnyHashable("categoryId"): , AnyHashable("google.c.a.e"): 1, AnyHashable("notification_category"): , AnyHashable("state_id"): 6131e95a02008ceb91df7f1f, AnyHashable("message"): Kledn Company - hi, AnyHashable("$state"): chat, AnyHashable("badge"): 22, AnyHashable("title"): Chat, AnyHashable("chat_type"): 1, AnyHashable("google.c.fid"): euTqw93Ln0HTny5NGFgUha, AnyHashable("category"): Chat, AnyHashable("google.c.sender.id"): 93576622797, AnyHashable("sound"): default.caf]

    opened by sumitmundra 2
Aplikasi iOS Advanced Level To Do List dengan Firebase Auth, SwiftUI, MVVM Design Pattern, dan Firebase Firestore

Aplikasi Tasker adalah aplikasi iOS To Do List yang dibuat menggunakan Autentikasi Firebase / Firestore dan MVVM Design Pattern.

DK 10 Oct 17, 2022
Firebase Analytics Firebase Notification Alamofire KingFisher Ombdb API

MovieOmdbApp Firebase Analytics Firebase Notification Alamofire KingFisher Ombdb

Kaya 0 Dec 20, 2021
iOS Open-Source Telematics App with Firebase© integration

Open-source telematics app for iOS. The application is suitable for UBI (Usage-based insurance), shared mobility, transportation, safe driving, tracking, family trackers, drive-coach, and other driving mobile applications

Damoov 17 Dec 11, 2022
The app demonstrates how to use Firebase in a SwiftUI iOS app

Firebase SwiftUIDemo app This app demonstrates how to use Firebase in a SwiftUI iOS app. Firebase Setup Go to firebase.com Click new project. Copy app

Andrew Gholson 0 Nov 28, 2021
IOS mobile application that uses URLSession and Firebase

DogApp IOS mobile application that uses URLSession and Firebase. First a dog ima

null 0 Feb 13, 2022
Firebase Cloud Firestore support library for iOS. 🧢

?? Ballcap-iOS Ballcap is a database schema design framework for Cloud Firestore. Why Ballcap Cloud Firestore is a great schema-less and flexible data

1amageek 229 Jan 2, 2023
Aplikasi iOS Simulasi CRUD Stok Barang dengan SwiftUI, Firebase CLI & Firestore

iStockery Aplikasi iStockery adalah aplikasi stok inventory berbasis iOS yang dibuat menggunakan Firebase (Firestore) secara Local dengan fitur CRUD d

DK 7 Aug 1, 2022
Food Order App for iOS. VIPER pattern, Alamofire and Firebase used.

Nibble Yemek Sipariş Uygulaması Techcareer.net Techmasters IOS Bootcamp bitirme ödevi için hazırladığım bir yemek sipariş uygulaması. API KEY SON GEÇE

null 2 Sep 20, 2022
Simple Todo Application using SwiftUI / Firebase / Redux.

Simple Todo Application using SwiftUI/Firebase/Redux/Combine. Light _ _ _ _ Dark _ _ _ Feature Use SwiftUI fully. Use Firebase. Authentication Cloud F

Suguru Kishimoto 337 Dec 25, 2022
Completed Project for Authentication in SwiftUI using Firebase Auth SDK & Sign in with Apple

Completed Project for Authentication in SwiftUI using Firebase Auth SDK & Sign in with Apple Follow the tutorial at alfianlosari.com Features Uses Fir

Alfian Losari 43 Dec 22, 2022
SwiftUI, Firebase, Kingfisher, googleapis

SwiftUI-KokaiByWGO Xcode Version 12.0 SwiftUI, Firebase, Kingfisher, googleapis Learn Thai with pictures and sounds Note : This version have no CMS so

Waleerat S. 0 Oct 6, 2021
Social Media platform build with swiftUI and Firebase with google and apple account integration for Signing In Users

Social Media platform build with swiftUI and Firebase with google and apple account integration for Signing In Users . Providing Users availability to upload posts and images add caption allowing other users to comment , with Find section to explore new people , new stories , User Profile section to allow the user to take control of his account .

Devang Papinwar 2 Jul 11, 2022
Instagram clone with firebase and swift

Instagram clone with firebase and swift

Murat Çiçek 1 Nov 20, 2021
A grocery list app for families written in Swift using Firebase Realtime Database

FamiList | Grocery list app in Swift FamiList is a grocery list app for families written in Swift using Firebase Realtime Database. You can add differ

Wasan Ibrahim 2 Jul 31, 2022
The ToDoList application using FireBase allows you to register users

ToDoFirebase Приложение ToDoList с использовавнием FireBase позволяет зарегистри

Vasiliy Chistyakov 0 Dec 19, 2021
A detailed clone of the Instagram app built with Firebase

[This repository is no longer being maintained] InstagramClone A detailed clone

null 0 Dec 26, 2021
Learning App with Firebase Auth

Learning App Displays how to make a learning app with Swift, iOS's programming l

Andrew Gholson 0 Jan 9, 2022
A SwiftUI component which handles logging in with Apple to Firebase

Login with Apple Firebase SwiftUI I made this SwiftUI component to handle logging in with Apple to Firebase. Demo Gif Usage in SwiftUI struct ContentV

Joe Hinkle 153 Dec 23, 2022
Warning pushNotification - Using push notification with Firebase Cloud Messaging

재난문자 푸시 알림 구현 1) 구현 기능 2) 기본 개념 (1) Remote Notification 불시에 발생한 업데이트 불특정 시간 예측 불

null 0 Jan 24, 2022