TLMetaResolver is a powerful tool for resolving metadata associated with a given URL. Whether you need to extract Open Graph tags, Twitter Card tags, or any other custom metadata, TLMetaResolver makes the process simple and efficient. This comprehensive guide will walk you through the different features and functionalities of TLMetaResolver, enabling you to harness its full potential.


To start using TLMetaResolver, you’ll need to install it in your project. You can easily install it using CocoaPods:

$ pod 'TLMetaResolver'

Once you have installed CocoaPods and added the TLMetaResolver dependency to your project, you are ready to proceed.


Importing the Framework

To use TLMetaResolver, import the framework at the top of your file:

import TLMetaResolver

Resolving Metadata

TLMetaResolver provides a simple interface for resolving metadata from a URL.

First, create an instance of TLMetaResolver:

let metaResolver = TLMetaResolver()

Next, call the `resolveMetadata` method, passing in the URL you wish to extract metadata from:

metaResolver.resolveMetadata(from: yourURL) { metadata, error in
// Handle the resolved metadata or error

The `resolveMetadata` method takes a completion closure that provides the resolved metadata and any error that occurred during the process. You can then process the metadata according to your needs.

Customizing Metadata Resolution

TLMetaResolver allows you to customize the metadata fields to be resolved. By default, it extracts a comprehensive set of metadata fields including Open Graph, Twitter Card, and others.

To customize which metadata fields are resolved, you can use the `metadataFields` property:

metaResolver.metadataFields = [.openGraph, .twitterCard]

In the example above, only Open Graph and Twitter Card metadata will be extracted.

Handling Errors

If an error occurs during the metadata resolution process, it will be provided in the completion closure.

Here is an example of handling errors:

metaResolver.resolveMetadata(from: yourURL) { metadata, error in
if let error = error {
// Handle the error
print("An error occurred: \\(error)")
} else {
// Handle the resolved metadata
print("Metadata: \\(metadata)")

Additional Functionality

Extracting Specific Metadata Fields

If you only need to extract a specific metadata field, you can directly access it from the resolved `metadata` object.

Here is an example of extracting the title from the resolved metadata:

if let title = metadata.title {
print("Title: \\(title)")

Extracting All Metadata Fields

You can easily access all the resolved metadata fields by iterating over the `metadata` object.

Here is an example of iterating over the resolved metadata:

for (field, value) in metadata {
print("Field: \\(field), Value: \\(value)")


TLMetaResolver streamlines the process of extracting metadata from URLs, providing a straightforward way to access and utilize valuable information associated with web content. By following this guide, you should now have a solid understanding of how to install, use, and customize TLMetaResolver to suit your specific metadata extraction needs.