AKUAssetManager is a comprehensive asset management library for iOS developers. It simplifies the process of handling and organizing assets within an iOS project, offering a wide range of features and utilities.


  • Easy integration and setup
  • Asset management for images, videos, audio files, and more
  • Efficient caching and retrieval of assets
  • Flexible asset loading options
  • Support for asset thumbnails and previews
  • Asset categorization and tagging
  • Asset search and filtering
  • Support for generating thumbnails on-the-fly
  • Simple API for accessing assets in code


To install AKUAssetManager in your project, follow these steps:

  1. Open your project in Xcode.
  2. Go to the File menu and select Swift Packages.
  3. Select Add Package Dependency.
  4. In the search field, enter ‘AKUAssetManager’.
  5. Select the latest version of AKUAssetManager from the search results.
  6. Click Next and then follow the prompts to finish the installation.



To initialize AKUAssetManager in your code, follow these steps:

// Import the AKUAssetManager module
import AKUAssetManager

// Instantiate the AKUAssetManager
let assetManager = AKUAssetManager()

Asset Loading

Loading assets with AKUAssetManager is straightforward. You can load assets by their unique identifier or by specifying additional options.

// Load asset by identifier
let asset = assetManager.loadAsset(withIdentifier: "asset-identifier")

// Load asset with options
let options = AKUAssetLoadingOptions()
options.thumbnailSize = CGSize(width: 100, height: 100)
let asset = assetManager.loadAsset(withIdentifier: "asset-identifier", options: options)

Asset Caching

AKUAssetManager automatically caches loaded assets for optimized performance. In case you want to manually control the cache, you can use the following methods:

// Clear the asset cache

// Preload assets into the cache
assetManager.preloadAssets(withIdentifiers: ["asset-1", "asset-2", "asset-3"])

Asset Search

Searching for assets based on certain criteria is made easy with AKUAssetManager. You can search assets by their name, category, or even certain tags assigned to them.

// Search assets by name
let results = assetManager.searchAssets(withName: "cat")

// Search assets by category
let results = assetManager.searchAssets(withCategory: "nature")

// Search assets by tags
let results = assetManager.searchAssets(withTags: ["landscape", "mountain"])

Preview Thumbnails

AKUAssetManager enables you to generate preview thumbnails for assets. You can customize the size and format of the generated thumbnails.

// Generate preview thumbnail
let thumbnail = assetManager.generateThumbnail(forAsset: asset, size: CGSize(width: 200, height: 200))

Asset Categories

Grouping assets into categories allows for easier organization and retrieval. AKUAssetManager provides methods to manage asset categories.

// Create a new category
assetManager.createAssetCategory(withName: "nature")

// Add an asset to a category
assetManager.addAsset(withIdentifier: "asset-identifier", toCategory: "nature")

// Remove an asset from a category
assetManager.removeAsset(withIdentifier: "asset-identifier", fromCategory: "nature")


AKUAssetManager is a powerful asset management library that simplifies asset handling in iOS projects. Its comprehensive set of features and easy-to-use API make it an essential tool for iOS developers. Whether you need to load, cache, filter, or categorize assets, AKUAssetManager has got you covered.