Skip to main content

FAQs

FAQs

TROUBLESHOOTING GUIDE FOR iOS

Query 1: Not able to login the user. Or loading screen is coming but categories not opening.

Solution -  Check the response for the seamlessLogin API in the logs. Also check the env what is mentioned in the PartnerConfig protocol  -> variable name -  static var environment: Environment.

Query 2: App is crashing on launch.

Solution - Check if all the frameworks which were given by the Nuclei team must be there in the main project folder. Stressing on All The Frameworks shared must be there in the project folder.

Remove the frameworks from-> general tab of client project -> Frameworks, Libraries and embedded Content section and re add it again. Also only the frameworks required by the partner must be integrated in Xcode in the general tab of the project.  For eg if the partner is integrating bus then the frameworks mentioned in the screenshot must only be there in Xcode.  

Also only the dynamic frameworks must be 'Embed and Sign'  in the Xcode general tab  -> Frameowks, Libraries and embedded Content section. The static frameworks must be 'Do not Embed'.

Query 3: Menu options like ‘Home’ and ‘Logout’ not working.

Solution: The options like ‘Home’ and ‘Logout’ is mentioned in PartnerConfig protocol. 

(static var menuOptions: [String] = ["Home", "Logout"] )

But these are not being handled in the callback function. 

The callBack function is  func menuOptionTapped(_ index: Int, _ title: String) 

Sample code for handling this is :-

func menuOptionTapped(_ index: Int, _ title: String) {
        if title == "Home" {
            CoreAdapter.dissmissNuclei(animated: true) {}
        }
        else if title == "Logout" {
            CoreAdapter.logout() {
                print("Logout")
            }
        }
    }

Query 4: Heartbeat handling - Or getting session time out in partner app even after using Nuclei SDK for 5 mins. 

Solution: Nuclei SDK gives heartbeat call back to the partner in every 10 seconds. The func for the callback is nucleiHeartBeat()

func nucleiHeartBeat() {
        print("Heart beat triggered")
        // TODO: active session here, as we got the callback from partner SDK
       
    }

Query 5: How to check whether Nuclei is Logged in or not?

Solution: This can be checked using CoreAdapter.isNucleiSignedIn().  If this returns true then user is signed in  In Nuclei.

Query 6: What happens when user is logged in the Client app but not logged in the SDK?

Solution: The partner will get a callback onNucleiSeamlessLoginRequest . In this function the partner needs to get token  from their backend and then call CoreAdapter.validateSeamlessToken