> For the complete documentation index, see [llms.txt](https://docs.truecaller.com/truecaller-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.truecaller.com/truecaller-sdk/ios/integrating-with-your-ios-app/handling-error-scenarios.md).

# Handling Error Scenarios

In case of error, didFailToReceiveTrueProfileWithError: will return an object of type TCError (a subclass of NSError). You can get the error code by invoking the method getErrorCode on the TCError object. The list of possible TCTrueSDKErrorCode values can be found in the API documentation.

| **Error Code** | **Description**                                                                                 |
| -------------- | ----------------------------------------------------------------------------------------------- |
| 1              | App Key is Missing. The App Key is a mandatory field. It is provided to you by Truecaller.      |
| 2              | App Link is Missing. The App Link is a mandatory field. It is provided to you by Truecaller.    |
| 3              | The user has decided to cancel (abort) the operation of providing TrueProfile info to your app. |
| 4              | The user has not signed in using the Truecaller app yet.                                        |
| 5              | The SDK version is old and not compatible with the Truecaller app.                              |
| 6              | The Truecaller app version is old and not compatible with the SDK version.                      |
| 7              | Current version of iOS is not supported.                                                        |
| 8              | Truecaller App is Not Installed. The Truecaller app is not installed.                           |
| 9              | Network Error occurred in network communication or no network connectivity                      |
| 10             | Truecaller internal error.                                                                      |
| 11             | The user has not been authorized by Truecaller servers.                                         |
| 12             | The credentials cannot be verified. Internal error.                                             |
| 13             | The Profile content is not valid. Internal error.                                               |
| 14             | Bad request. Internal error.                                                                    |
| 15             | Verification Failed because the response signature could not be verified. Internal error.       |
| 16             | The request's nonce does not match the nonce in response. Internal error.                       |
| 17             | View delegate is Nil or not set.                                                                |
| 18             | Invalid first name or last name.                                                                |
| 19             | Cannot open app because Universal Link failed                                                   |
| 20             | Please add Url Scheme to plist                                                                  |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.truecaller.com/truecaller-sdk/ios/integrating-with-your-ios-app/handling-error-scenarios.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
