Notes & Troubleshooting


  1. it is Highly recommended to upgrade your Firebase Plan to Blaze plan if you have a big number of users . since the Free Plan is Limited. you can see the limits and pricing from here

  2. if you have installed the application and there are no contacts are shown even if you have registered contacts, then you have to make sure that you have deployed Cloud Functions
    , after doing that go to Firebase Console > Authentication > Users > and delete all users. next up you should uninstall the app on your devices and reinstall it again. you need to do this only once since you did not deploy Cloud functions before registering your users in the app.

  3. Phone Authentication will not work on any Emulator,it's Firebase Limitation

  4. if you have issues when deploying or installing npm dependencies please wait for a minute and try again , also try to close the Anti-Virus on your computer since it may block the non-SSL URL's.

  5. if you faced an issue while Archiving the app, you have to go to Xcode > File > Workspace Settings > Build System > Change it to Legacy Build System . you might need to change it back to default after you finish archiving since the build may become slow after that.

  6. if you enounter issues while building the app please try the following:

    • exit Xcode and re-open it again
    • run the pod install command in the app directory as you've done in Setup Project Step, then exit Xcode and re-open it again.
    • clean the project by hitting CMD + Shift + K
    • clean your app's Derived Data directory by going to
      /Users/USERNAME/Library/Developer/Xcode/DerivedData/your_app_name

      and delete that directory.

  7. If you had issues while archiving using Xcode 13, like showing errors related to Kingfisher please replace the Kingfisher and RealmSwift versions in Podfile with the following:

    pod "Kingfisher", :git => 'https://github.com/onevcat/Kingfisher.git', :branch => 'version6-xcode13'
    pod 'RealmSwift' , '10.16.0'

    make sure to replace all occurrences.

then run the command pod install to update the Pods

  1. If you had issues while Installing Cocoapods on an M1 Mac, Open the terminal do the following:
    • Uninstall the local cocoapods gem
      sudo gem uninstall cocoapods
    • Install Homebrew by going to the website Homebrew and copy the install command and execute in Terminal
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    • Reinstall cocoapods via Homebrew
      brew install cocoapods
    • run pod install through:
      arch -x86_64 pod install
    • (Optional) you can add an alias rather than calling arch -x86_64 everytime you need to use Cocoapods. To do that open your terminal and cd into the home directory using
      cd ~

      then open the .zshrc using a text editor OR using nano

      nano .zshrc

      paste in the following alias and save the file

      alias pod='arch -x86_64 pod'

you have to close terminal and reopen it again in order for it to take effect.

  1. If you had issues while building/archiving on Xcode 14, please make sure to add your TeamID to your Podfile as in this image

image

then run pod install command and try again

  1. If you had issues in building in Xcode 14, try to add this to your Podfile in both targets FireApp and NotificationService
pod 'Protobuf', '3.21.12’

Then run pod install

  1. Fix Xcode 15 Build Issues

if you are using Xcode 15 and you are facing issues while building the app, you have to do the following:

open Podfile and add the following line at the end of the file

post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings["DEVELOPMENT_TEAM"] = "YOUR_TEAM_ID"
            config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "11.0"
         end
        if target.name.start_with?("GoogleDataTransport")
                  target.build_configurations.each do |config|
                    config.build_settings['CLANG_WARN_STRICT_PROTOTYPES'] = 'NO'
                  end
           end
    end
  end
end

add Protobuf if not added already

pod 'Protobuf', '3.22.1'

make sure to add it for 'FireApp' and 'NotificationService' Targets

Update VirgilE3Kit for 'FireApp' and 'NotificationService' Targets

pod 'VirgilE3Kit', '4.0.1'

run pod install in the terminal

  1. if you're on an Apple Silicon Mac, you may want to add arm64 to excluded architectures in the Build Settings of the FireApp target in Xcode.

image